ERC-20
Overview
Max Total Supply
0.001425329527363403 FS-V2
Holders
5
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.00000380660089376 FS-V2Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x31351Bf3...80916A199 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
FraxswapPair
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
1234567891011121314151617181920212223242526/***Submitted for verification at Etherscan.io on 2022-08-19*/// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.8.0;// Sources flattened with hardhat v2.10.1 https://hardhat.org// File contracts/Fraxswap/core/interfaces/IUniswapV2PairPartialV5.solinterface IUniswapV2PairPartialV5 {// event Approval(address indexed owner, address indexed spender, uint value);// event Transfer(address indexed from, address indexed to, uint value);//// function name() external pure returns (string memory);// function symbol() external pure returns (string memory);// function decimals() external pure returns (uint8);// function totalSupply() external view returns (uint);// function balanceOf(address owner) external view returns (uint);// function allowance(address owner, address spender) external view returns (uint);//// function approve(address spender, uint value) external returns (bool);// function transfer(address to, uint value) external returns (bool);// function transferFrom(address from, address to, uint value) external returns (bool);
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InsufficientInputAmount","type":"error"},{"inputs":[{"internalType":"uint112","name":"reserve0","type":"uint112"},{"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"InsufficientLiquidity","type":"error"},{"inputs":[],"name":"InsufficientOutputAmount","type":"error"},{"inputs":[],"name":"InvalidToToken","type":"error"},{"inputs":[],"name":"KConstantError","type":"error"},{"inputs":[],"name":"Uint112Overflow","type":"error"},{"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":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"},{"indexed":false,"internalType":"address","name":"sellToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"unsoldAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"buyToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"purchasedAmount","type":"uint256"}],"name":"CancelLongTermOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfTimeIntervals","type":"uint256"}],"name":"LongTermSwap0To1","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"numberOfTimeIntervals","type":"uint256"}],"name":"LongTermSwap1To0","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"LpFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint112","name":"reserve0","type":"uint112"},{"indexed":false,"internalType":"uint112","name":"reserve1","type":"uint112"}],"name":"Sync","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"orderId","type":"uint256"},{"indexed":true,"internalType":"address","name":"proceedToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"proceeds","type":"uint256"},{"indexed":false,"internalType":"bool","name":"orderExpired","type":"bool"}],"name":"WithdrawProceedsFromLongTermOrder","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINIMUM_LIQUIDITY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"TWAPObservationHistory","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"uint256","name":"price0CumulativeLast","type":"uint256"},{"internalType":"uint256","name":"price1CumulativeLast","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"cancelLongTermSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockTimestamp","type":"uint256"}],"name":"executeVirtualOrders","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address","name":"tokenOut","type":"address"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address","name":"tokenIn","type":"address"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"name":"getDetailedOrdersForUser","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"creationTimestamp","type":"uint256"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"},{"internalType":"uint256","name":"saleRate","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"sellTokenAddr","type":"address"},{"internalType":"address","name":"buyTokenAddr","type":"address"},{"internalType":"bool","name":"isComplete","type":"bool"}],"internalType":"struct LongTermOrdersLib.Order[]","name":"detailed_orders","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNextOrderID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOrderIDsForUser","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getOrderIDsForUserLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockTimestamp","type":"uint256"}],"name":"getReserveAfterTwamm","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint256","name":"lastVirtualOrderTimestamp","type":"uint256"},{"internalType":"uint112","name":"_twammReserve0","type":"uint112"},{"internalType":"uint112","name":"_twammReserve1","type":"uint112"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTWAPHistoryLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"getTwammOrder","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"creationTimestamp","type":"uint256"},{"internalType":"uint256","name":"expirationTimestamp","type":"uint256"},{"internalType":"uint256","name":"saleRate","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"sellTokenAddr","type":"address"},{"internalType":"address","name":"buyTokenAddr","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"getTwammOrderProceeds","outputs":[{"internalType":"bool","name":"orderExpired","type":"bool"},{"internalType":"uint256","name":"totalReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"},{"internalType":"uint256","name":"blockTimestamp","type":"uint256"}],"name":"getTwammOrderProceedsView","outputs":[{"internalType":"bool","name":"orderExpired","type":"bool"},{"internalType":"uint256","name":"totalReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTwammReserves","outputs":[{"internalType":"uint112","name":"_reserve0","type":"uint112"},{"internalType":"uint112","name":"_reserve1","type":"uint112"},{"internalType":"uint32","name":"_blockTimestampLast","type":"uint32"},{"internalType":"uint112","name":"_twammReserve0","type":"uint112"},{"internalType":"uint112","name":"_twammReserve1","type":"uint112"},{"internalType":"uint256","name":"_fee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blockTimestamp","type":"uint256"}],"name":"getTwammRewardFactor","outputs":[{"internalType":"uint256","name":"rewardFactorPool0AtTimestamp","type":"uint256"},{"internalType":"uint256","name":"rewardFactorPool1AtTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_blockTimestamp","type":"uint256"}],"name":"getTwammSalesRateEnding","outputs":[{"internalType":"uint256","name":"orderPool0SalesRateEnding","type":"uint256"},{"internalType":"uint256","name":"orderPool1SalesRateEnding","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTwammState","outputs":[{"internalType":"uint256","name":"token0Rate","type":"uint256"},{"internalType":"uint256","name":"token1Rate","type":"uint256"},{"internalType":"uint256","name":"lastVirtualOrderTimestamp","type":"uint256"},{"internalType":"uint256","name":"orderTimeInterval_rtn","type":"uint256"},{"internalType":"uint256","name":"rewardFactorPool0","type":"uint256"},{"internalType":"uint256","name":"rewardFactorPool1","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token0","type":"address"},{"internalType":"address","name":"_token1","type":"address"},{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"kLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0In","type":"uint256"},{"internalType":"uint256","name":"numberOfTimeIntervals","type":"uint256"}],"name":"longTermSwapFrom0To1","outputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount1In","type":"uint256"},{"internalType":"uint256","name":"numberOfTimeIntervals","type":"uint256"}],"name":"longTermSwapFrom1To0","outputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"mint","outputs":[{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newSwapsPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"orderIDsForUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"orderTimeInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"price0CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"price1CumulativeLast","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"skim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount0Out","type":"uint256"},{"internalType":"uint256","name":"amount1Out","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sync","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"togglePauseNewSwaps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"twammReserve0","outputs":[{"internalType":"uint112","name":"","type":"uint112"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"twammReserve1","outputs":[{"internalType":"uint112","name":"","type":"uint112"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"twammUpToDate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"withdrawProceedsFromLongTermSwap","outputs":[{"internalType":"bool","name":"is_expired","type":"bool"},{"internalType":"address","name":"rewardTkn","type":"address"},{"internalType":"uint256","name":"totalReward","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052600160205534801561001557600080fd5b50604080518082018252600b81526a233930bc39bbb0b8102b1960a91b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527f736229277fc30c9d8d02e6316edaeb1ea2708ef3d3c39aa1877ab5a97793cc30818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012060035560198054610100600160a81b0319163361010002179055615676806200010f6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80637464fc3d116101de57806396f291271161010f578063c9738a0d116100ad578063ddca3f431161007c578063ddca3f4314610a40578063e852bc2e14610a49578063f140a35a14610a88578063fff6cae914610a9b57600080fd5b8063c9738a0d146109cf578063d21220a7146109e2578063d505accf14610a02578063dd62ed3e14610a1557600080fd5b8063ba9a7a56116100e9578063ba9a7a561461093e578063bc25cf7714610947578063bcaa64ea1461095a578063c45a0155146109aa57600080fd5b806396f2912714610919578063a1462c1914610921578063a9059cbb1461092b57600080fd5b806381ca79981161017c57806387353fed1161015657806387353fed1461088a57806389afcb44146108aa57806395d89b41146108bd5780639610c5f1146108f957600080fd5b806381ca79981461081f57806381fd0a4614610832578063852a8dbe1461087757600080fd5b806378dd0298116101b857806378dd0298146107c35780637d316e28146107cb5780637ecebe00146107f75780637fa2ee6e1461081757600080fd5b80637464fc3d1461077b578063748fc63b14610784578063753bfd4b1461078d57600080fd5b80632c8488da116102b85780634894c53c116102565780635a3d5493116102305780635a3d54931461072d57806369fe0e2d146107355780636a6278421461074857806370a082311461075b57600080fd5b80634894c53c146106ae5780634adc77c2146106c15780635909c0d51461072557600080fd5b8063313ce56711610292578063313ce567146106505780633644e5151461066a578063422fff051461067357806343c990811461069b57600080fd5b80632c8488da146105ec5780632e0ae3751461061657806330adf81f1461062957600080fd5b80631125f13f116103255780631f4f5b42116102ff5780631f4f5b421461058b5780631fc2fa7f1461059e57806323b872dd146105ab57806327e73836146105be57600080fd5b80631125f13f1461054e5780631794bb3c1461056f57806318160ddd1461058257600080fd5b8063094cf14911610361578063094cf14914610455578063095ea7b3146104ad5780630dfe1681146104d05780630ece72361461051557600080fd5b8063022c0d9f1461038857806306fdde031461039d5780630902f1ac146103ef575b600080fd5b61039b610396366004614ee6565b610aa3565b005b6103d96040518060400160405280600b81526020017f467261787377617020563200000000000000000000000000000000000000000081525081565b6040516103e69190614fac565b60405180910390f35b601c54604080516dffffffffffffffffffffffffffff80841682526e01000000000000000000000000000084041660208201527c010000000000000000000000000000000000000000000000000000000090920463ffffffff16908201526060016103e6565b61045d6110e4565b604080516dffffffffffffffffffffffffffff9788168152958716602087015263ffffffff90941693850193909352908416606084015292909216608082015260a081019190915260c0016103e6565b6104c06104bb366004614ffd565b611174565b60405190151581526020016103e6565b601a546104f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e6565b60175461052f906dffffffffffffffffffffffffffff1681565b6040516dffffffffffffffffffffffffffff90911681526020016103e6565b61056161055c366004615029565b61118a565b6040519081526020016103e6565b61039b61057d366004615059565b6112ca565b61056160005481565b61039b61059936600461509a565b6113ee565b6019546104c09060ff1681565b6104c06105b9366004615059565b6115e8565b6105d16105cc36600461509a565b6116c2565b604080519384526020840192909252908201526060016103e6565b6105ff6105fa3660046150b3565b6116f5565b6040805192151583526020830191909152016103e6565b61039b61062436600461509a565b611756565b6105617f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610658601281565b60405160ff90911681526020016103e6565b61056160035481565b61068661068136600461509a565b611791565b604080519283526020830191909152016103e6565b6106866106a936600461509a565b6117d1565b6105ff6106bc36600461509a565b611811565b6106d46106cf36600461509a565b611830565b60408051978852602088019690965294860193909352606085019190915273ffffffffffffffffffffffffffffffffffffffff908116608085015290811660a08401521660c082015260e0016103e6565b6105616118ad565b6105616118f4565b61039b61074336600461509a565b61193b565b6105616107563660046150d5565b611a83565b6105616107693660046150d5565b60016020526000908152604090205481565b610561601d5481565b610561610e1081565b61056161079b3660046150d5565b73ffffffffffffffffffffffffffffffffffffffff166000908152601e602052604090205490565b601554610561565b60175461052f906e01000000000000000000000000000090046dffffffffffffffffffffffffffff1681565b6105616108053660046150d5565b60046020526000908152604090205481565b601f54610561565b61056161082d3660046150b3565b611e10565b61084561084036600461509a565b611f95565b60408051931515845273ffffffffffffffffffffffffffffffffffffffff9092166020840152908201526060016103e6565b610561610885366004614ffd565b612176565b61089d6108983660046150f2565b6121a7565b6040516103e69190615127565b6106866108b83660046150d5565b6123e8565b6103d96040518060400160405280600581526020017f46532d563200000000000000000000000000000000000000000000000000000081525081565b61090c6109073660046150d5565b61289b565b6040516103e691906151d6565b61039b612914565b60055442146104c0565b6104c0610939366004614ffd565b6129e9565b6105616103e881565b61039b6109553660046150d5565b6129f6565b61096d61096836600461509a565b612bc4565b604080516dffffffffffffffffffffffffffff9687168152948616602086015284019290925283166060830152909116608082015260a0016103e6565b6019546104f090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6105616109dd3660046150b3565b612cfe565b601b546104f09073ffffffffffffffffffffffffffffffffffffffff1681565b61039b610a1036600461521a565b612e58565b610561610a23366004615291565b600260209081526000928352604080842090915290825290205481565b61056160185481565b600754600e54600554600854600f5460408051958652602086019490945292840191909152610e106060840152608083015260a082015260c0016103e6565b610561610a96366004615029565b613089565b61039b6131c3565b602054600114610ab257600080fd5b6000602055610ac04261338d565b6000851180610acf5750600084115b610b05576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610b61601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b5091509150816dffffffffffffffffffffffffffff1687108015610b945750806dffffffffffffffffffffffffffff1686105b610be8576040517f6243da720000000000000000000000000000000000000000000000000000000081526dffffffffffffffffffffffffffff80841660048301528216602482015260440160405180910390fd5b601a54601b54600091829173ffffffffffffffffffffffffffffffffffffffff918216919081169089168214801590610c4d57508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b610c83576040517f591c75ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a15610c9457610c94828a8d61357d565b8915610ca557610ca5818a8c61357d565b8615610d38576040517f10d1e85c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16906310d1e85c90610d059033908f908f908e908e906004016152bf565b600060405180830381600087803b158015610d1f57600080fd5b505af1158015610d33573d6000803e3d6000fd5b505050505b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff9091169073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190615337565b610de6919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529195506e01000000000000000000000000000090046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610e79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9d9190615337565b610ea7919061537f565b92505050600089856dffffffffffffffffffffffffffff16610ec9919061537f565b8311610ed6576000610efa565b610ef08a6dffffffffffffffffffffffffffff871661537f565b610efa908461537f565b90506000610f188a6dffffffffffffffffffffffffffff871661537f565b8311610f25576000610f49565b610f3f8a6dffffffffffffffffffffffffffff871661537f565b610f49908461537f565b90506000821180610f5a5750600081115b610f90576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000601854612710610fa2919061537f565b90506000610fb08285615396565b610fbc87612710615396565b610fc6919061537f565b90506000610fd48385615396565b610fe087612710615396565b610fea919061537f565b90506110096dffffffffffffffffffffffffffff808a16908b16615396565b611017906305f5e100615396565b6110218284615396565b1015611059576040517f19886c4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506110708484888861106b6136b9565b6136fc565b60408051838152602081018390529081018c9052606081018b905273ffffffffffffffffffffffffffffffffffffffff8a169033907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800160405180910390a350506001602055505050505050505050565b601c54601754601854600092839283928392839283926dffffffffffffffffffffffffffff808416936e0100000000000000000000000000008082048316947c010000000000000000000000000000000000000000000000000000000090920463ffffffff1693838316939190920416906111619061271061537f565b949b939a50919850965094509092509050565b60006111813384846139c7565b50600192915050565b601a546000908190819073ffffffffffffffffffffffffffffffffffffffff8581169116146111e157601c546dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041661120a565b601c546dffffffffffffffffffffffffffff6e0100000000000000000000000000008204811691165b9150915060008511801561122e57506000826dffffffffffffffffffffffffffff16115b801561124a57506000816dffffffffffffffffffffffffffff16115b61125357600080fd5b600061126f866dffffffffffffffffffffffffffff8516615396565b61127b90612710615396565b9050600060185487846dffffffffffffffffffffffffffff1661129e919061537f565b6112a89190615396565b90506112b48183615402565b6112bf906001615416565b979650505050505050565b806000811180156112db5750606581105b6112e457600080fd5b601954610100900473ffffffffffffffffffffffffffffffffffffffff16331461130d57600080fd5b601a805473ffffffffffffffffffffffffffffffffffffffff8087167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255601b80549286169290911691909117905561136e8261271061537f565b601855600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055426005556040518281527f2ade3fe6cec488ed9b13e36f5179edfbca9998fecc5926cf57335558671d5f959060200160405180910390a150505050565b6020546001146113fd57600080fd5b600060205561140b4261338d565b600080808061141b600586613a36565b601a549397509195509350915073ffffffffffffffffffffffffffffffffffffffff8084169116148061144e5783611450565b815b601780546000906114729084906dffffffffffffffffffffffffffff1661542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550806114af57816114b1565b835b60178054600e906114e59084906e01000000000000000000000000000090046dffffffffffffffffffffffffffff1661542e565b82546dffffffffffffffffffffffffffff9182166101009390930a928302919092021990911617905550600086815260166020526040902060060180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905561156883338461357d565b61157385338661357d565b6040805187815273ffffffffffffffffffffffffffffffffffffffff878116602083015291810186905290841660608201526080810183905233907f3c5d5e0947e8b8050cf53e91c7496de2499da1b7613ec86b8fda8705789663909060a00160405180910390a25050600160205550505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146116ad5773ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915290205461167b90839061537f565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b6116b8848484613ad7565b5060019392505050565b601f81815481106116d257600080fd5b600091825260209091206003909102018054600182015460029092015490925083565b600080600560100154841061170957600080fd5b600084815260166020526040812060059081015461173d919073ffffffffffffffffffffffffffffffffffffffff16613ba6565b905061174a818686613be2565b90969095509350505050565b60205460011461176557600080fd5b60006020556005548111801561177b5750428111155b15611789576117898161338d565b506001602055565b600080806117a1610e108561545d565b6117ab908561537f565b600090815260096020908152604080832054601090925290912054909590945092505050565b600080806117e1610e108561545d565b6117eb908561537f565b6000908152600d6020908152604080832054601490925290912054909590945092505050565b60008061181d42611756565b61182783426116f5565b91509150915091565b6000806000806000806000600560100154881061184c57600080fd5b505050600094855250506016602052505060409020805460018201546002830154600384015460048501546005860154600690960154949693959294919373ffffffffffffffffffffffffffffffffffffffff918216938216929190911690565b601f546000906118bd5750600090565b601f80546118cd9060019061537f565b815481106118dd576118dd615471565b906000526020600020906003020160010154905090565b601f546000906119045750600090565b601f80546119149060019061537f565b8154811061192457611924615471565b906000526020600020906003020160020154905090565b6119444261338d565b806000811180156119555750606581105b61195e57600080fd5b601954610100900473ffffffffffffffffffffffffffffffffffffffff16331480611a345750601954604080517f094b741500000000000000000000000000000000000000000000000000000000815290513392610100900473ffffffffffffffffffffffffffffffffffffffff169163094b74159160048083019260209291908290030181865afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906154a0565b73ffffffffffffffffffffffffffffffffffffffff16145b611a3d57600080fd5b611a498261271061537f565b6018556040518281527f2ade3fe6cec488ed9b13e36f5179edfbca9998fecc5926cf57335558671d5f959060200160405180910390a15050565b6000602054600114611a9457600080fd5b6000602055611aa24261338d565b600080611afe601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b50601754601a546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529395509193506000926dffffffffffffffffffffffffffff9091169173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bae9190615337565b611bb8919061537f565b601754601b546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529293506000926e0100000000000000000000000000009092046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c779190615337565b611c81919061537f565b90506000611c9f6dffffffffffffffffffffffffffff86168461537f565b90506000611cbd6dffffffffffffffffffffffffffff86168461537f565b90506000611ccb8787613cb8565b60008054919250819003611d0c576103e8611cee611ce98587615396565b613e25565b611cf8919061537f565b9850611d0760006103e8613e95565b611d61565b611d5e6dffffffffffffffffffffffffffff8916611d2a8387615396565b611d349190615402565b6dffffffffffffffffffffffffffff8916611d4f8487615396565b611d599190615402565b613f40565b98505b60008911611d6e57600080fd5b611d788a8a613e95565b611d8786868a8a61106b6136b9565b8115611dc257601c54611dbe906dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116615396565b601d555b604080518581526020810185905233917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f910160405180910390a25050600160205550949695505050505050565b6000602054600114611e2157600080fd5b600060205560195460ff1615611e3657600080fd5b611e3f4261338d565b601b54600090611e659073ffffffffffffffffffffffffffffffffffffffff1685613f56565b9050806017600e8282829054906101000a90046dffffffffffffffffffffffffffff16611e9291906154bd565b82546101009290920a6dffffffffffffffffffffffffffff818102199093169183160217909155601754601c54919250611ee6916e0100000000000000000000000000009182900484169190048316615416565b1115611ef157600080fd5b601b54601a54611f1f9160059173ffffffffffffffffffffffffffffffffffffffff9182169116848761419f565b336000818152601e602090815260408083208054600181018255908452928290209092018490558151848152908101859052908101869052919350907fe1ce07267c05b1609d3bd4046ca369b74e64cd2b45ee8321ccc79783252c60b4906060015b60405180910390a250600160205592915050565b6000806000602054600114611fa957600080fd5b6000602055611fb74261338d565b60008080611fc6600588614415565b601a54929550909350915073ffffffffffffffffffffffffffffffffffffffff9081169084160361204d57601780548391906000906120169084906dffffffffffffffffffffffffffff1661542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055506120ab565b816017600e8282829054906101000a90046dffffffffffffffffffffffffffff16612078919061542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055505b801561210057600087815260166020526040902060060180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555b61210b83338461357d565b604080518881526020810184905282151581830152905173ffffffffffffffffffffffffffffffffffffffff85169133917f43168622ddb54ed84ccad30626ace7077235dc531c67aaf639752c45195354489181900360600190a36001602055969195509350915050565b601e602052816000526040600020818154811061219257600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff83166000908152601e6020908152604080832080548251818502810185019093528083526060949383018282801561221357602002820191906000526020600020905b8154815260200190600101908083116121ff575b50505050509050600061222d84868451611d59919061537f565b90508067ffffffffffffffff811115612248576122486154ef565b6040519080825280602002602001820160405280156122d557816020015b604080516101008101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816122665790505b50925060005b818110156123de5760166000846122f2848a615416565b8151811061230257612302615471565b60209081029190910181015182528181019290925260409081016000208151610100810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015473ffffffffffffffffffffffffffffffffffffffff90811660808401526005820154811660a084015260069091015490811660c083015274010000000000000000000000000000000000000000900460ff16151560e082015284518590839081106123c0576123c0615471565b602002602001018190525080806123d69061551e565b9150506122db565b5050509392505050565b6000806020546001146123fa57600080fd5b60006020556124084261338d565b600080612464601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b50601a54601b546017546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015294965092945073ffffffffffffffffffffffffffffffffffffffff918216939116916000916dffffffffffffffffffffffffffff9091169084906370a0823190602401602060405180830381865afa1580156124fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251e9190615337565b612528919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529192506000916e0100000000000000000000000000009091046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156125bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e39190615337565b6125ed919061537f565b3060009081526001602052604081205491925061260a8888613cb8565b6000549091508061261b8685615396565b6126259190615402565b9a50806126328585615396565b61263c9190615402565b995060008b11801561264e575060008a115b61265757600080fd5b61266130846144ac565b61266c878d8d61357d565b612677868d8c61357d565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff9091169073ffffffffffffffffffffffffffffffffffffffff8916906370a0823190602401602060405180830381865afa1580156126f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271b9190615337565b612725919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529196506e01000000000000000000000000000090046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa1580156127b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127dc9190615337565b6127e6919061537f565b93506127f785858b8b61106b6136b9565b811561283257601c5461282e906dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116615396565b601d555b604080518c8152602081018c905273ffffffffffffffffffffffffffffffffffffffff8e169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496910160405180910390a35050505050505050506001602081905550915091565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601e602090815260409182902080548351818402810184019094528084526060939283018282801561290857602002820191906000526020600020905b8154815260200190600101908083116128f4575b50505050509050919050565b60195460ff161580156129b35750601960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f12d54d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561298f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129b39190615556565b6129bc57600080fd5b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000611181338484613ad7565b602054600114612a0557600080fd5b6000602055612a134261338d565b601a54601b54601754601c5473ffffffffffffffffffffffffffffffffffffffff9384169390921691612b139184918691612a61916dffffffffffffffffffffffffffff91821691166154bd565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff919091169073ffffffffffffffffffffffffffffffffffffffff8716906370a08231906024015b602060405180830381865afa158015612ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b049190615337565b612b0e919061537f565b61357d565b601754601c54612bba9183918691612b54916dffffffffffffffffffffffffffff6e01000000000000000000000000000092839004811692909104166154bd565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff919091169073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401612ac3565b5050600160205550565b600554601754601c5460009283929091839182918291612bf7916dffffffffffffffffffffffffffff91821691166154bd565b601754601c54919250600091612c37916dffffffffffffffffffffffffffff6e0100000000000000000000000000009182900481169291909104166154bd565b6040805160a081018252601c546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000918290048116602084015260175480821694840194909452920490911660608201526018546080820152909150612ca160058a8361455f565b6040810151612cc0906dffffffffffffffffffffffffffff851661537f565b97508060600151826dffffffffffffffffffffffffffff16612ce2919061537f565b9650806040015194508060600151935050505091939590929450565b6000602054600114612d0f57600080fd5b600060205560195460ff1615612d2457600080fd5b612d2d4261338d565b601a54600090612d539073ffffffffffffffffffffffffffffffffffffffff1685613f56565b601780549192508291600090612d7a9084906dffffffffffffffffffffffffffff166154bd565b82546101009290920a6dffffffffffffffffffffffffffff818102199093169183160217909155601754601c54919250612db991908316908316615416565b1115612dc457600080fd5b601a54601b54612df29160059173ffffffffffffffffffffffffffffffffffffffff9182169116848761419f565b336000818152601e602090815260408083208054600181018255908452928290209092018490558151848152908101859052908101869052919350907f9971294258b76b481032b9c1f7f5594619d7cf40e29e224de9e71481bd0a4f8590606001611f81565b42841015612e6557600080fd5b60035473ffffffffffffffffffffffffffffffffffffffff8816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b919087612ec58361551e565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001612f669291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015612fef573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061306a57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61307357600080fd5b61307e8989896139c7565b505050505050505050565b601a546000908190819073ffffffffffffffffffffffffffffffffffffffff8581169116146130df57601c546dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116613109565b601c546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004165b9150915060008511801561312d57506000826dffffffffffffffffffffffffffff16115b801561314957506000816dffffffffffffffffffffffffffff16115b61315257600080fd5b6000601854866131629190615396565b905060006131806dffffffffffffffffffffffffffff841683615396565b905060008261319186612710615578565b6dffffffffffffffffffffffffffff166131ab9190615416565b90506131b78183615402565b98975050505050505050565b6020546001146131d257600080fd5b60006020556131e04261338d565b601754601a546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152613386926dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015613264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132889190615337565b613292919061537f565b601754601b546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526e0100000000000000000000000000009092046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015613327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061334b9190615337565b613355919061537f565b601c546dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041661106b6136b9565b6001602055565b60195460ff161561339b5750565b60055442036133a75750565b6040805160a081018252601c546dffffffffffffffffffffffffffff80821683526e01000000000000000000000000000091829004811660208401526017548082169484019490945292049091166060820152601854608082015261340e600583836146df565b60408101516017805460608401516dffffffffffffffffffffffffffff9081166e010000000000000000000000000000027fffffffff000000000000000000000000000000000000000000000000000000009092169316929092179190911790558051602082015160006134806136b9565b905060008163ffffffff161180156134de5750601c546dffffffffffffffffffffffffffff84811691161415806134de5750601c546dffffffffffffffffffffffffffff8381166e0100000000000000000000000000009092041614155b1561352357601c5461351e906dffffffffffffffffffffffffffff8086169185821691818116916e010000000000000000000000000000900416856136fc565b613576565b601c80546dffffffffffffffffffffffffffff8481166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909216908616171790555b5050505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839287169161364491906155ae565b6000604051808303816000865af19150503d8060008114613681576040519150601f19603f3d011682016040523d82523d6000602084013e613686565b606091505b50915091508180156136b05750805115806136b05750808060200190518101906136b09190615556565b61357657600080fd5b6000806136cb6401000000004261545d565b601c547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16900392915050565b6017546dffffffffffffffffffffffffffff9061371b90821687615416565b1115801561375857506017546dffffffffffffffffffffffffffff90613755906e0100000000000000000000000000009004821686615416565b11155b61378e576040517f350caebb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061379f6401000000004261545d565b905060008263ffffffff161180156137c657506dffffffffffffffffffffffffffff841615155b80156137e157506dffffffffffffffffffffffffffff831615155b156138d757601f60405180606001604052808363ffffffff1681526020018463ffffffff1661383788613813896149d8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690614a09565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160261385e6118ad565b0181526020018463ffffffff16613878876138138a6149d8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160261389f6118f4565b019052815460018181018455600093845260209384902083516003909302019182559282015192810192909255604001516002909101555b601c805463ffffffff83167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff8981166e0100000000000000000000000000009081027fffffffff000000000000000000000000000000000000000000000000000000009095168c83161794909417918216831794859055604080519382169282169290921783529290930490911660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600081815260118301602052604081206006810154600582015473ffffffffffffffffffffffffffffffffffffffff9081169392911690829081613a7a8887613ba6565b9050613a8b81888a60000154614a25565b6004840154919650935073ffffffffffffffffffffffffffffffffffffffff1633148015613ac357506000851180613ac35750600083115b613acc57600080fd5b505092959194509250565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054613b0890829061537f565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054613b45908290615416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613a299085815260200190565b600182015460009073ffffffffffffffffffffffffffffffffffffffff838116911614613bd65782600901613bdb565b826002015b9392505050565b6000828152600484016020526040812054819080613bff57600080fd5b600085815260038701602090815260408083205460058a0190925290912054818610613c5d5760008281526006890160205260409020546e010000000000000000000000000000620f42408383038602040494506001955050613cad565b6e010000000000000000000000000000620f42406dffffffffffffffffffffffffffff1684838b60010154030281613c9757613c976153d3565b0481613ca557613ca56153d3565b049350600094505b505050935093915050565b600080601960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d4c91906154a0565b601d5473ffffffffffffffffffffffffffffffffffffffff8216158015945091925090613e11578015613e0c576000613d9b611ce96dffffffffffffffffffffffffffff808816908916615396565b90506000613da883613e25565b905080821115613e09576000613dbe828461537f565b600054613dcb9190615396565b9050600082613ddb856005615396565b613de59190615416565b90506000613df38284615402565b90508015613e0557613e058782613e95565b5050505b50505b613e1d565b8015613e1d576000601d555b505092915050565b60006003821115613e865750806000613e3f600283615402565b613e4a906001615416565b90505b81811015613e8057905080600281613e658186615402565b613e6f9190615416565b613e799190615402565b9050613e4d565b50919050565b8115613e90575060015b919050565b80600054613ea39190615416565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054613ed6908290615416565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613f349085815260200190565b60405180910390a35050565b6000818310613f4f5781613bdb565b5090919050565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa158015613fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fe99190615337565b60408051336024820152306044820152606480820187905282518083039091018152608490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790529051919250600091829173ffffffffffffffffffffffffffffffffffffffff88169161408691906155ae565b6000604051808303816000865af19150503d80600081146140c3576040519150601f19603f3d011682016040523d82523d6000602084013e6140c8565b606091505b50915091508180156140f25750805115806140f25750808060200190518101906140f29190615556565b6140fb57600080fd5b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152839073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015614167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061418b9190615337565b614195919061537f565b9695505050505050565b600042816141af610e108361545d565b6141b9908361537f565b90506000816141c9866001615416565b6141d590610e10615396565b6141df9190615416565b905060006141ed848361537f565b6141fa88620f4240615396565b6142049190615402565b90506000811161421357600080fd5b600061421f8b8b613ba6565b9050614231818c601001548486614b17565b6040518061010001604052808c6010015481526020018681526020018481526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001600015158152508b60110160008d6010015481526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160060160146101000a81548160ff0219169083151502179055509050508a60100160008154809291906144029061551e565b909155509b9a5050505050505050505050565b600081815260118301602052604081206006810154600582015473ffffffffffffffffffffffffffffffffffffffff918216939283929091839161445b91899116613ba6565b905061446c81878960000154614b8b565b6004840154919550935073ffffffffffffffffffffffffffffffffffffffff163314801561449a5750600084115b6144a357600080fd5b50509250925092565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546144dd90829061537f565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120919091555461451290829061537f565b600090815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001613f34565b82546000610e10614570818461545d565b61457a908461537f565b6145849190615416565b60028601805460098801805493945091925b8785116146775760008581526002850160205260409020541515806145ca5750600085815260028401602052604090205415155b156146645760006145db878761537f565b90506000620f42406145ed8386615396565b6145f79190615402565b90506000620f42406146098486615396565b6146139190615402565b90506146208a8383614bd8565b5050600088815260028801602052604090205461463d908661537f565b600089815260028801602052604090205490955061465b908561537f565b93508798505050505b614670610e1086615416565b9450614596565b87861461307e57600061468a878a61537f565b90506000620f424061469c8386615396565b6146a69190615402565b90506000620f42406146b88486615396565b6146c29190615402565b90506146cf8a8383614bd8565b5050505050505050505050505050565b82546000610e106146f0818461545d565b6146fa908461537f565b6147049190615416565b905060028501600986015b85831161489c5760008381526002830160205260409020541515806147435750600083815260028201602052604090205415155b15614889576000614754858561537f565b8354909150600090620f42409061476c908490615396565b6147769190615402565b8354909150600090620f42409061478e908590615396565b6147989190615402565b90506000806147a88a8585614bd8565b915091506147b68782614cff565b6147c08683614cff565b6147ca8789614d3d565b6147d48689614d3d565b7f793ee8b0d8020fc042a920607e3cbd37f5132c011786c8dd10a685f4414ed38188868c600001518d602001518e604001518f6060015188888c8c6040516148789a99989796959493929190998a5260208a01989098526dffffffffffffffffffffffffffff96871660408a0152949095166060880152608087019290925260a086015260c085015260e08401919091526101008301526101208201526101400190565b60405180910390a187985050505050505b614895610e1084615416565b925061470f565b8584146149cd5760006148af858861537f565b8354909150600090620f4240906148c7908490615396565b6148d19190615402565b8354909150600090620f4240906148e9908590615396565b6148f39190615402565b90506000806149038a8585614bd8565b915091507f793ee8b0d8020fc042a920607e3cbd37f5132c011786c8dd10a685f4414ed3818b868c600001518d602001518e604001518f6060015188888c8c6040516149ab9a99989796959493929190998a5260208a01989098526dffffffffffffffffffffffffffff96871660408a0152949095166060880152608087019290925260a086015260c085015260e08401919091526101008301526101208201526101400190565b60405180910390a16149bd8782614cff565b6149c78683614cff565b50505050505b505050919092555050565b6000614a036e0100000000000000000000000000006dffffffffffffffffffffffffffff84166155ca565b92915050565b6000613bdb6dffffffffffffffffffffffffffff831684615605565b60008281526003840160205260408120548190838111614a4457600080fd5b6000858152600487016020526040902054620f424081614a64878561537f565b614a6e9190615396565b614a789190615402565b600087815260058901602052604090205460018901549195506e01000000000000000000000000000091620f424091900383020404925080876000016000828254614ac3919061537f565b90915550506000868152600488016020908152604080832083905560038a01825280832083905584835260028a0190915281208054839290614b0690849061537f565b925050819055505050935093915050565b81846000016000828254614b2b9190615416565b9091555050600184015460008481526005860160209081526040808320939093556003870181528282208490556004870181528282208590558382526002870190529081208054849290614b80908490615416565b909155505050505050565b600080614b99858585613be2565b925090508015614bb9576000848152600486016020526040812055614bd0565b600185015460008581526005870160205260409020555b935093915050565b6000806000856040015186600001516dffffffffffffffffffffffffffff16614c019190615416565b90506000866060015187602001516dffffffffffffffffffffffffffff16614c299190615416565b9050614c6487600001516dffffffffffffffffffffffffffff1688602001516dffffffffffffffffffffffffffff1688888b60800151614d7d565b604089015191955093508690614c7b908690615416565b614c85919061537f565b604088015260608701518590614c9c908590615416565b614ca6919061537f565b60608801526040870151614cba908361537f565b6dffffffffffffffffffffffffffff1687526060870151614cdb908261537f565b6dffffffffffffffffffffffffffff16602090970196909652509094909350915050565b815415614d39578154700f42400000000000000000000000000000820281614d2957614d296153d3565b6001840180549290910490910190555b5050565b6000818152600283016020526040812054835490918491614d5f90849061537f565b90915550506001820154600091825260069092016020526040902055565b600080600285108015614d905750600284105b614eb7576002851015614dde576000614da98486615396565b905080614db888612710615396565b614dc29190615416565b614dcc828a615396565b614dd69190615402565b925050614eb7565b6002841015614e28576000614df38487615396565b905080614e0289612710615396565b614e0c9190615416565b614e168289615396565b614e209190615402565b915050614eb7565b6000612710614e378588615396565b614e419190615402565b614e4b9089615416565b90506000612710614e5c8688615396565b614e669190615402565b614e709089615416565b905080614e7d838a615396565b614e879190615402565b614e91908361537f565b935081614e9e828b615396565b614ea89190615402565b614eb2908261537f565b925050505b9550959350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114614ee357600080fd5b50565b600080600080600060808688031215614efe57600080fd5b85359450602086013593506040860135614f1781614ec1565b9250606086013567ffffffffffffffff80821115614f3457600080fd5b818801915088601f830112614f4857600080fd5b813581811115614f5757600080fd5b896020828501011115614f6957600080fd5b9699959850939650602001949392505050565b60005b83811015614f97578181015183820152602001614f7f565b83811115614fa6576000848401525b50505050565b6020815260008251806020840152614fcb816040850160208701614f7c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806040838503121561501057600080fd5b823561501b81614ec1565b946020939093013593505050565b6000806040838503121561503c57600080fd5b82359150602083013561504e81614ec1565b809150509250929050565b60008060006060848603121561506e57600080fd5b833561507981614ec1565b9250602084013561508981614ec1565b929592945050506040919091013590565b6000602082840312156150ac57600080fd5b5035919050565b600080604083850312156150c657600080fd5b50508035926020909101359150565b6000602082840312156150e757600080fd5b8135613bdb81614ec1565b60008060006060848603121561510757600080fd5b833561511281614ec1565b95602085013595506040909401359392505050565b602080825282518282018190526000919060409081850190868401855b828110156151c957815180518552868101518786015285810151868601526060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff9081169187019190915260a08083015182169087015260c0808301519091169086015260e0908101511515908501526101009093019290850190600101615144565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561520e578351835292840192918401916001016151f2565b50909695505050505050565b600080600080600080600060e0888a03121561523557600080fd5b873561524081614ec1565b9650602088013561525081614ec1565b95506040880135945060608801359350608088013560ff8116811461527457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156152a457600080fd5b82356152af81614ec1565b9150602083013561504e81614ec1565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b60006020828403121561534957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561539157615391615350565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153ce576153ce615350565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615411576154116153d3565b500490565b6000821982111561542957615429615350565b500190565b60006dffffffffffffffffffffffffffff8381169083168181101561545557615455615350565b039392505050565b60008261546c5761546c6153d3565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156154b257600080fd5b8151613bdb81614ec1565b60006dffffffffffffffffffffffffffff8083168185168083038211156154e6576154e6615350565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361554f5761554f615350565b5060010190565b60006020828403121561556857600080fd5b81518015158114613bdb57600080fd5b60006dffffffffffffffffffffffffffff808316818516818304811182151516156155a5576155a5615350565b02949350505050565b600082516155c0818460208701614f7c565b9190910192915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff808316818516818304811182151516156155a5576155a5615350565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80841680615634576156346153d3565b9216919091049291505056fea2646970667358221220ff0f1e271603a9d47de68d4f1859e01970ca59682c13062be4eb53695c552a1464736f6c634300080f0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103835760003560e01c80637464fc3d116101de57806396f291271161010f578063c9738a0d116100ad578063ddca3f431161007c578063ddca3f4314610a40578063e852bc2e14610a49578063f140a35a14610a88578063fff6cae914610a9b57600080fd5b8063c9738a0d146109cf578063d21220a7146109e2578063d505accf14610a02578063dd62ed3e14610a1557600080fd5b8063ba9a7a56116100e9578063ba9a7a561461093e578063bc25cf7714610947578063bcaa64ea1461095a578063c45a0155146109aa57600080fd5b806396f2912714610919578063a1462c1914610921578063a9059cbb1461092b57600080fd5b806381ca79981161017c57806387353fed1161015657806387353fed1461088a57806389afcb44146108aa57806395d89b41146108bd5780639610c5f1146108f957600080fd5b806381ca79981461081f57806381fd0a4614610832578063852a8dbe1461087757600080fd5b806378dd0298116101b857806378dd0298146107c35780637d316e28146107cb5780637ecebe00146107f75780637fa2ee6e1461081757600080fd5b80637464fc3d1461077b578063748fc63b14610784578063753bfd4b1461078d57600080fd5b80632c8488da116102b85780634894c53c116102565780635a3d5493116102305780635a3d54931461072d57806369fe0e2d146107355780636a6278421461074857806370a082311461075b57600080fd5b80634894c53c146106ae5780634adc77c2146106c15780635909c0d51461072557600080fd5b8063313ce56711610292578063313ce567146106505780633644e5151461066a578063422fff051461067357806343c990811461069b57600080fd5b80632c8488da146105ec5780632e0ae3751461061657806330adf81f1461062957600080fd5b80631125f13f116103255780631f4f5b42116102ff5780631f4f5b421461058b5780631fc2fa7f1461059e57806323b872dd146105ab57806327e73836146105be57600080fd5b80631125f13f1461054e5780631794bb3c1461056f57806318160ddd1461058257600080fd5b8063094cf14911610361578063094cf14914610455578063095ea7b3146104ad5780630dfe1681146104d05780630ece72361461051557600080fd5b8063022c0d9f1461038857806306fdde031461039d5780630902f1ac146103ef575b600080fd5b61039b610396366004614ee6565b610aa3565b005b6103d96040518060400160405280600b81526020017f467261787377617020563200000000000000000000000000000000000000000081525081565b6040516103e69190614fac565b60405180910390f35b601c54604080516dffffffffffffffffffffffffffff80841682526e01000000000000000000000000000084041660208201527c010000000000000000000000000000000000000000000000000000000090920463ffffffff16908201526060016103e6565b61045d6110e4565b604080516dffffffffffffffffffffffffffff9788168152958716602087015263ffffffff90941693850193909352908416606084015292909216608082015260a081019190915260c0016103e6565b6104c06104bb366004614ffd565b611174565b60405190151581526020016103e6565b601a546104f09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103e6565b60175461052f906dffffffffffffffffffffffffffff1681565b6040516dffffffffffffffffffffffffffff90911681526020016103e6565b61056161055c366004615029565b61118a565b6040519081526020016103e6565b61039b61057d366004615059565b6112ca565b61056160005481565b61039b61059936600461509a565b6113ee565b6019546104c09060ff1681565b6104c06105b9366004615059565b6115e8565b6105d16105cc36600461509a565b6116c2565b604080519384526020840192909252908201526060016103e6565b6105ff6105fa3660046150b3565b6116f5565b6040805192151583526020830191909152016103e6565b61039b61062436600461509a565b611756565b6105617f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610658601281565b60405160ff90911681526020016103e6565b61056160035481565b61068661068136600461509a565b611791565b604080519283526020830191909152016103e6565b6106866106a936600461509a565b6117d1565b6105ff6106bc36600461509a565b611811565b6106d46106cf36600461509a565b611830565b60408051978852602088019690965294860193909352606085019190915273ffffffffffffffffffffffffffffffffffffffff908116608085015290811660a08401521660c082015260e0016103e6565b6105616118ad565b6105616118f4565b61039b61074336600461509a565b61193b565b6105616107563660046150d5565b611a83565b6105616107693660046150d5565b60016020526000908152604090205481565b610561601d5481565b610561610e1081565b61056161079b3660046150d5565b73ffffffffffffffffffffffffffffffffffffffff166000908152601e602052604090205490565b601554610561565b60175461052f906e01000000000000000000000000000090046dffffffffffffffffffffffffffff1681565b6105616108053660046150d5565b60046020526000908152604090205481565b601f54610561565b61056161082d3660046150b3565b611e10565b61084561084036600461509a565b611f95565b60408051931515845273ffffffffffffffffffffffffffffffffffffffff9092166020840152908201526060016103e6565b610561610885366004614ffd565b612176565b61089d6108983660046150f2565b6121a7565b6040516103e69190615127565b6106866108b83660046150d5565b6123e8565b6103d96040518060400160405280600581526020017f46532d563200000000000000000000000000000000000000000000000000000081525081565b61090c6109073660046150d5565b61289b565b6040516103e691906151d6565b61039b612914565b60055442146104c0565b6104c0610939366004614ffd565b6129e9565b6105616103e881565b61039b6109553660046150d5565b6129f6565b61096d61096836600461509a565b612bc4565b604080516dffffffffffffffffffffffffffff9687168152948616602086015284019290925283166060830152909116608082015260a0016103e6565b6019546104f090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6105616109dd3660046150b3565b612cfe565b601b546104f09073ffffffffffffffffffffffffffffffffffffffff1681565b61039b610a1036600461521a565b612e58565b610561610a23366004615291565b600260209081526000928352604080842090915290825290205481565b61056160185481565b600754600e54600554600854600f5460408051958652602086019490945292840191909152610e106060840152608083015260a082015260c0016103e6565b610561610a96366004615029565b613089565b61039b6131c3565b602054600114610ab257600080fd5b6000602055610ac04261338d565b6000851180610acf5750600084115b610b05576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610b61601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b5091509150816dffffffffffffffffffffffffffff1687108015610b945750806dffffffffffffffffffffffffffff1686105b610be8576040517f6243da720000000000000000000000000000000000000000000000000000000081526dffffffffffffffffffffffffffff80841660048301528216602482015260440160405180910390fd5b601a54601b54600091829173ffffffffffffffffffffffffffffffffffffffff918216919081169089168214801590610c4d57508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b610c83576040517f591c75ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a15610c9457610c94828a8d61357d565b8915610ca557610ca5818a8c61357d565b8615610d38576040517f10d1e85c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a16906310d1e85c90610d059033908f908f908e908e906004016152bf565b600060405180830381600087803b158015610d1f57600080fd5b505af1158015610d33573d6000803e3d6000fd5b505050505b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff9091169073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015610db8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddc9190615337565b610de6919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529195506e01000000000000000000000000000090046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610e79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9d9190615337565b610ea7919061537f565b92505050600089856dffffffffffffffffffffffffffff16610ec9919061537f565b8311610ed6576000610efa565b610ef08a6dffffffffffffffffffffffffffff871661537f565b610efa908461537f565b90506000610f188a6dffffffffffffffffffffffffffff871661537f565b8311610f25576000610f49565b610f3f8a6dffffffffffffffffffffffffffff871661537f565b610f49908461537f565b90506000821180610f5a5750600081115b610f90576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000601854612710610fa2919061537f565b90506000610fb08285615396565b610fbc87612710615396565b610fc6919061537f565b90506000610fd48385615396565b610fe087612710615396565b610fea919061537f565b90506110096dffffffffffffffffffffffffffff808a16908b16615396565b611017906305f5e100615396565b6110218284615396565b1015611059576040517f19886c4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506110708484888861106b6136b9565b6136fc565b60408051838152602081018390529081018c9052606081018b905273ffffffffffffffffffffffffffffffffffffffff8a169033907fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229060800160405180910390a350506001602055505050505050505050565b601c54601754601854600092839283928392839283926dffffffffffffffffffffffffffff808416936e0100000000000000000000000000008082048316947c010000000000000000000000000000000000000000000000000000000090920463ffffffff1693838316939190920416906111619061271061537f565b949b939a50919850965094509092509050565b60006111813384846139c7565b50600192915050565b601a546000908190819073ffffffffffffffffffffffffffffffffffffffff8581169116146111e157601c546dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041661120a565b601c546dffffffffffffffffffffffffffff6e0100000000000000000000000000008204811691165b9150915060008511801561122e57506000826dffffffffffffffffffffffffffff16115b801561124a57506000816dffffffffffffffffffffffffffff16115b61125357600080fd5b600061126f866dffffffffffffffffffffffffffff8516615396565b61127b90612710615396565b9050600060185487846dffffffffffffffffffffffffffff1661129e919061537f565b6112a89190615396565b90506112b48183615402565b6112bf906001615416565b979650505050505050565b806000811180156112db5750606581105b6112e457600080fd5b601954610100900473ffffffffffffffffffffffffffffffffffffffff16331461130d57600080fd5b601a805473ffffffffffffffffffffffffffffffffffffffff8087167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255601b80549286169290911691909117905561136e8261271061537f565b601855600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055426005556040518281527f2ade3fe6cec488ed9b13e36f5179edfbca9998fecc5926cf57335558671d5f959060200160405180910390a150505050565b6020546001146113fd57600080fd5b600060205561140b4261338d565b600080808061141b600586613a36565b601a549397509195509350915073ffffffffffffffffffffffffffffffffffffffff8084169116148061144e5783611450565b815b601780546000906114729084906dffffffffffffffffffffffffffff1661542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550806114af57816114b1565b835b60178054600e906114e59084906e01000000000000000000000000000090046dffffffffffffffffffffffffffff1661542e565b82546dffffffffffffffffffffffffffff9182166101009390930a928302919092021990911617905550600086815260166020526040902060060180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905561156883338461357d565b61157385338661357d565b6040805187815273ffffffffffffffffffffffffffffffffffffffff878116602083015291810186905290841660608201526080810183905233907f3c5d5e0947e8b8050cf53e91c7496de2499da1b7613ec86b8fda8705789663909060a00160405180910390a25050600160205550505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff146116ad5773ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915290205461167b90839061537f565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b6116b8848484613ad7565b5060019392505050565b601f81815481106116d257600080fd5b600091825260209091206003909102018054600182015460029092015490925083565b600080600560100154841061170957600080fd5b600084815260166020526040812060059081015461173d919073ffffffffffffffffffffffffffffffffffffffff16613ba6565b905061174a818686613be2565b90969095509350505050565b60205460011461176557600080fd5b60006020556005548111801561177b5750428111155b15611789576117898161338d565b506001602055565b600080806117a1610e108561545d565b6117ab908561537f565b600090815260096020908152604080832054601090925290912054909590945092505050565b600080806117e1610e108561545d565b6117eb908561537f565b6000908152600d6020908152604080832054601490925290912054909590945092505050565b60008061181d42611756565b61182783426116f5565b91509150915091565b6000806000806000806000600560100154881061184c57600080fd5b505050600094855250506016602052505060409020805460018201546002830154600384015460048501546005860154600690960154949693959294919373ffffffffffffffffffffffffffffffffffffffff918216938216929190911690565b601f546000906118bd5750600090565b601f80546118cd9060019061537f565b815481106118dd576118dd615471565b906000526020600020906003020160010154905090565b601f546000906119045750600090565b601f80546119149060019061537f565b8154811061192457611924615471565b906000526020600020906003020160020154905090565b6119444261338d565b806000811180156119555750606581105b61195e57600080fd5b601954610100900473ffffffffffffffffffffffffffffffffffffffff16331480611a345750601954604080517f094b741500000000000000000000000000000000000000000000000000000000815290513392610100900473ffffffffffffffffffffffffffffffffffffffff169163094b74159160048083019260209291908290030181865afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906154a0565b73ffffffffffffffffffffffffffffffffffffffff16145b611a3d57600080fd5b611a498261271061537f565b6018556040518281527f2ade3fe6cec488ed9b13e36f5179edfbca9998fecc5926cf57335558671d5f959060200160405180910390a15050565b6000602054600114611a9457600080fd5b6000602055611aa24261338d565b600080611afe601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b50601754601a546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529395509193506000926dffffffffffffffffffffffffffff9091169173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015611b8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bae9190615337565b611bb8919061537f565b601754601b546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529293506000926e0100000000000000000000000000009092046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015611c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c779190615337565b611c81919061537f565b90506000611c9f6dffffffffffffffffffffffffffff86168461537f565b90506000611cbd6dffffffffffffffffffffffffffff86168461537f565b90506000611ccb8787613cb8565b60008054919250819003611d0c576103e8611cee611ce98587615396565b613e25565b611cf8919061537f565b9850611d0760006103e8613e95565b611d61565b611d5e6dffffffffffffffffffffffffffff8916611d2a8387615396565b611d349190615402565b6dffffffffffffffffffffffffffff8916611d4f8487615396565b611d599190615402565b613f40565b98505b60008911611d6e57600080fd5b611d788a8a613e95565b611d8786868a8a61106b6136b9565b8115611dc257601c54611dbe906dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116615396565b601d555b604080518581526020810185905233917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f910160405180910390a25050600160205550949695505050505050565b6000602054600114611e2157600080fd5b600060205560195460ff1615611e3657600080fd5b611e3f4261338d565b601b54600090611e659073ffffffffffffffffffffffffffffffffffffffff1685613f56565b9050806017600e8282829054906101000a90046dffffffffffffffffffffffffffff16611e9291906154bd565b82546101009290920a6dffffffffffffffffffffffffffff818102199093169183160217909155601754601c54919250611ee6916e0100000000000000000000000000009182900484169190048316615416565b1115611ef157600080fd5b601b54601a54611f1f9160059173ffffffffffffffffffffffffffffffffffffffff9182169116848761419f565b336000818152601e602090815260408083208054600181018255908452928290209092018490558151848152908101859052908101869052919350907fe1ce07267c05b1609d3bd4046ca369b74e64cd2b45ee8321ccc79783252c60b4906060015b60405180910390a250600160205592915050565b6000806000602054600114611fa957600080fd5b6000602055611fb74261338d565b60008080611fc6600588614415565b601a54929550909350915073ffffffffffffffffffffffffffffffffffffffff9081169084160361204d57601780548391906000906120169084906dffffffffffffffffffffffffffff1661542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055506120ab565b816017600e8282829054906101000a90046dffffffffffffffffffffffffffff16612078919061542e565b92506101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff1602179055505b801561210057600087815260166020526040902060060180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555b61210b83338461357d565b604080518881526020810184905282151581830152905173ffffffffffffffffffffffffffffffffffffffff85169133917f43168622ddb54ed84ccad30626ace7077235dc531c67aaf639752c45195354489181900360600190a36001602055969195509350915050565b601e602052816000526040600020818154811061219257600080fd5b90600052602060002001600091509150505481565b73ffffffffffffffffffffffffffffffffffffffff83166000908152601e6020908152604080832080548251818502810185019093528083526060949383018282801561221357602002820191906000526020600020905b8154815260200190600101908083116121ff575b50505050509050600061222d84868451611d59919061537f565b90508067ffffffffffffffff811115612248576122486154ef565b6040519080825280602002602001820160405280156122d557816020015b604080516101008101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816122665790505b50925060005b818110156123de5760166000846122f2848a615416565b8151811061230257612302615471565b60209081029190910181015182528181019290925260409081016000208151610100810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015473ffffffffffffffffffffffffffffffffffffffff90811660808401526005820154811660a084015260069091015490811660c083015274010000000000000000000000000000000000000000900460ff16151560e082015284518590839081106123c0576123c0615471565b602002602001018190525080806123d69061551e565b9150506122db565b5050509392505050565b6000806020546001146123fa57600080fd5b60006020556124084261338d565b600080612464601c546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b50601a54601b546017546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015294965092945073ffffffffffffffffffffffffffffffffffffffff918216939116916000916dffffffffffffffffffffffffffff9091169084906370a0823190602401602060405180830381865afa1580156124fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251e9190615337565b612528919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529192506000916e0100000000000000000000000000009091046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156125bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e39190615337565b6125ed919061537f565b3060009081526001602052604081205491925061260a8888613cb8565b6000549091508061261b8685615396565b6126259190615402565b9a50806126328585615396565b61263c9190615402565b995060008b11801561264e575060008a115b61265757600080fd5b61266130846144ac565b61266c878d8d61357d565b612677868d8c61357d565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff9091169073ffffffffffffffffffffffffffffffffffffffff8916906370a0823190602401602060405180830381865afa1580156126f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271b9190615337565b612725919061537f565b6017546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529196506e01000000000000000000000000000090046dffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa1580156127b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127dc9190615337565b6127e6919061537f565b93506127f785858b8b61106b6136b9565b811561283257601c5461282e906dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116615396565b601d555b604080518c8152602081018c905273ffffffffffffffffffffffffffffffffffffffff8e169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496910160405180910390a35050505050505050506001602081905550915091565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601e602090815260409182902080548351818402810184019094528084526060939283018282801561290857602002820191906000526020600020905b8154815260200190600101908083116128f4575b50505050509050919050565b60195460ff161580156129b35750601960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f12d54d86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561298f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129b39190615556565b6129bc57600080fd5b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000611181338484613ad7565b602054600114612a0557600080fd5b6000602055612a134261338d565b601a54601b54601754601c5473ffffffffffffffffffffffffffffffffffffffff9384169390921691612b139184918691612a61916dffffffffffffffffffffffffffff91821691166154bd565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff919091169073ffffffffffffffffffffffffffffffffffffffff8716906370a08231906024015b602060405180830381865afa158015612ae0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b049190615337565b612b0e919061537f565b61357d565b601754601c54612bba9183918691612b54916dffffffffffffffffffffffffffff6e01000000000000000000000000000092839004811692909104166154bd565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526dffffffffffffffffffffffffffff919091169073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401612ac3565b5050600160205550565b600554601754601c5460009283929091839182918291612bf7916dffffffffffffffffffffffffffff91821691166154bd565b601754601c54919250600091612c37916dffffffffffffffffffffffffffff6e0100000000000000000000000000009182900481169291909104166154bd565b6040805160a081018252601c546dffffffffffffffffffffffffffff80821683526e010000000000000000000000000000918290048116602084015260175480821694840194909452920490911660608201526018546080820152909150612ca160058a8361455f565b6040810151612cc0906dffffffffffffffffffffffffffff851661537f565b97508060600151826dffffffffffffffffffffffffffff16612ce2919061537f565b9650806040015194508060600151935050505091939590929450565b6000602054600114612d0f57600080fd5b600060205560195460ff1615612d2457600080fd5b612d2d4261338d565b601a54600090612d539073ffffffffffffffffffffffffffffffffffffffff1685613f56565b601780549192508291600090612d7a9084906dffffffffffffffffffffffffffff166154bd565b82546101009290920a6dffffffffffffffffffffffffffff818102199093169183160217909155601754601c54919250612db991908316908316615416565b1115612dc457600080fd5b601a54601b54612df29160059173ffffffffffffffffffffffffffffffffffffffff9182169116848761419f565b336000818152601e602090815260408083208054600181018255908452928290209092018490558151848152908101859052908101869052919350907f9971294258b76b481032b9c1f7f5594619d7cf40e29e224de9e71481bd0a4f8590606001611f81565b42841015612e6557600080fd5b60035473ffffffffffffffffffffffffffffffffffffffff8816600090815260046020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b919087612ec58361551e565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001612f669291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015612fef573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061306a57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b61307357600080fd5b61307e8989896139c7565b505050505050505050565b601a546000908190819073ffffffffffffffffffffffffffffffffffffffff8581169116146130df57601c546dffffffffffffffffffffffffffff6e010000000000000000000000000000820481169116613109565b601c546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004165b9150915060008511801561312d57506000826dffffffffffffffffffffffffffff16115b801561314957506000816dffffffffffffffffffffffffffff16115b61315257600080fd5b6000601854866131629190615396565b905060006131806dffffffffffffffffffffffffffff841683615396565b905060008261319186612710615578565b6dffffffffffffffffffffffffffff166131ab9190615416565b90506131b78183615402565b98975050505050505050565b6020546001146131d257600080fd5b60006020556131e04261338d565b601754601a546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152613386926dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015613264573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132889190615337565b613292919061537f565b601754601b546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526e0100000000000000000000000000009092046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015613327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061334b9190615337565b613355919061537f565b601c546dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041661106b6136b9565b6001602055565b60195460ff161561339b5750565b60055442036133a75750565b6040805160a081018252601c546dffffffffffffffffffffffffffff80821683526e01000000000000000000000000000091829004811660208401526017548082169484019490945292049091166060820152601854608082015261340e600583836146df565b60408101516017805460608401516dffffffffffffffffffffffffffff9081166e010000000000000000000000000000027fffffffff000000000000000000000000000000000000000000000000000000009092169316929092179190911790558051602082015160006134806136b9565b905060008163ffffffff161180156134de5750601c546dffffffffffffffffffffffffffff84811691161415806134de5750601c546dffffffffffffffffffffffffffff8381166e0100000000000000000000000000009092041614155b1561352357601c5461351e906dffffffffffffffffffffffffffff8086169185821691818116916e010000000000000000000000000000900416856136fc565b613576565b601c80546dffffffffffffffffffffffffffff8481166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909216908616171790555b5050505050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839287169161364491906155ae565b6000604051808303816000865af19150503d8060008114613681576040519150601f19603f3d011682016040523d82523d6000602084013e613686565b606091505b50915091508180156136b05750805115806136b05750808060200190518101906136b09190615556565b61357657600080fd5b6000806136cb6401000000004261545d565b601c547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16900392915050565b6017546dffffffffffffffffffffffffffff9061371b90821687615416565b1115801561375857506017546dffffffffffffffffffffffffffff90613755906e0100000000000000000000000000009004821686615416565b11155b61378e576040517f350caebb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061379f6401000000004261545d565b905060008263ffffffff161180156137c657506dffffffffffffffffffffffffffff841615155b80156137e157506dffffffffffffffffffffffffffff831615155b156138d757601f60405180606001604052808363ffffffff1681526020018463ffffffff1661383788613813896149d8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690614a09565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160261385e6118ad565b0181526020018463ffffffff16613878876138138a6149d8565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160261389f6118f4565b019052815460018181018455600093845260209384902083516003909302019182559282015192810192909255604001516002909101555b601c805463ffffffff83167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff8981166e0100000000000000000000000000009081027fffffffff000000000000000000000000000000000000000000000000000000009095168c83161794909417918216831794859055604080519382169282169290921783529290930490911660208201527f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1910160405180910390a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600081815260118301602052604081206006810154600582015473ffffffffffffffffffffffffffffffffffffffff9081169392911690829081613a7a8887613ba6565b9050613a8b81888a60000154614a25565b6004840154919650935073ffffffffffffffffffffffffffffffffffffffff1633148015613ac357506000851180613ac35750600083115b613acc57600080fd5b505092959194509250565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054613b0890829061537f565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054613b45908290615416565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613a299085815260200190565b600182015460009073ffffffffffffffffffffffffffffffffffffffff838116911614613bd65782600901613bdb565b826002015b9392505050565b6000828152600484016020526040812054819080613bff57600080fd5b600085815260038701602090815260408083205460058a0190925290912054818610613c5d5760008281526006890160205260409020546e010000000000000000000000000000620f42408383038602040494506001955050613cad565b6e010000000000000000000000000000620f42406dffffffffffffffffffffffffffff1684838b60010154030281613c9757613c976153d3565b0481613ca557613ca56153d3565b049350600094505b505050935093915050565b600080601960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d4c91906154a0565b601d5473ffffffffffffffffffffffffffffffffffffffff8216158015945091925090613e11578015613e0c576000613d9b611ce96dffffffffffffffffffffffffffff808816908916615396565b90506000613da883613e25565b905080821115613e09576000613dbe828461537f565b600054613dcb9190615396565b9050600082613ddb856005615396565b613de59190615416565b90506000613df38284615402565b90508015613e0557613e058782613e95565b5050505b50505b613e1d565b8015613e1d576000601d555b505092915050565b60006003821115613e865750806000613e3f600283615402565b613e4a906001615416565b90505b81811015613e8057905080600281613e658186615402565b613e6f9190615416565b613e799190615402565b9050613e4d565b50919050565b8115613e90575060015b919050565b80600054613ea39190615416565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054613ed6908290615416565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600160205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613f349085815260200190565b60405180910390a35050565b6000818310613f4f5781613bdb565b5090919050565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa158015613fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fe99190615337565b60408051336024820152306044820152606480820187905282518083039091018152608490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790529051919250600091829173ffffffffffffffffffffffffffffffffffffffff88169161408691906155ae565b6000604051808303816000865af19150503d80600081146140c3576040519150601f19603f3d011682016040523d82523d6000602084013e6140c8565b606091505b50915091508180156140f25750805115806140f25750808060200190518101906140f29190615556565b6140fb57600080fd5b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152839073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015614167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061418b9190615337565b614195919061537f565b9695505050505050565b600042816141af610e108361545d565b6141b9908361537f565b90506000816141c9866001615416565b6141d590610e10615396565b6141df9190615416565b905060006141ed848361537f565b6141fa88620f4240615396565b6142049190615402565b90506000811161421357600080fd5b600061421f8b8b613ba6565b9050614231818c601001548486614b17565b6040518061010001604052808c6010015481526020018681526020018481526020018381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001600015158152508b60110160008d6010015481526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060e08201518160060160146101000a81548160ff0219169083151502179055509050508a60100160008154809291906144029061551e565b909155509b9a5050505050505050505050565b600081815260118301602052604081206006810154600582015473ffffffffffffffffffffffffffffffffffffffff918216939283929091839161445b91899116613ba6565b905061446c81878960000154614b8b565b6004840154919550935073ffffffffffffffffffffffffffffffffffffffff163314801561449a5750600084115b6144a357600080fd5b50509250925092565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546144dd90829061537f565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120919091555461451290829061537f565b600090815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001613f34565b82546000610e10614570818461545d565b61457a908461537f565b6145849190615416565b60028601805460098801805493945091925b8785116146775760008581526002850160205260409020541515806145ca5750600085815260028401602052604090205415155b156146645760006145db878761537f565b90506000620f42406145ed8386615396565b6145f79190615402565b90506000620f42406146098486615396565b6146139190615402565b90506146208a8383614bd8565b5050600088815260028801602052604090205461463d908661537f565b600089815260028801602052604090205490955061465b908561537f565b93508798505050505b614670610e1086615416565b9450614596565b87861461307e57600061468a878a61537f565b90506000620f424061469c8386615396565b6146a69190615402565b90506000620f42406146b88486615396565b6146c29190615402565b90506146cf8a8383614bd8565b5050505050505050505050505050565b82546000610e106146f0818461545d565b6146fa908461537f565b6147049190615416565b905060028501600986015b85831161489c5760008381526002830160205260409020541515806147435750600083815260028201602052604090205415155b15614889576000614754858561537f565b8354909150600090620f42409061476c908490615396565b6147769190615402565b8354909150600090620f42409061478e908590615396565b6147989190615402565b90506000806147a88a8585614bd8565b915091506147b68782614cff565b6147c08683614cff565b6147ca8789614d3d565b6147d48689614d3d565b7f793ee8b0d8020fc042a920607e3cbd37f5132c011786c8dd10a685f4414ed38188868c600001518d602001518e604001518f6060015188888c8c6040516148789a99989796959493929190998a5260208a01989098526dffffffffffffffffffffffffffff96871660408a0152949095166060880152608087019290925260a086015260c085015260e08401919091526101008301526101208201526101400190565b60405180910390a187985050505050505b614895610e1084615416565b925061470f565b8584146149cd5760006148af858861537f565b8354909150600090620f4240906148c7908490615396565b6148d19190615402565b8354909150600090620f4240906148e9908590615396565b6148f39190615402565b90506000806149038a8585614bd8565b915091507f793ee8b0d8020fc042a920607e3cbd37f5132c011786c8dd10a685f4414ed3818b868c600001518d602001518e604001518f6060015188888c8c6040516149ab9a99989796959493929190998a5260208a01989098526dffffffffffffffffffffffffffff96871660408a0152949095166060880152608087019290925260a086015260c085015260e08401919091526101008301526101208201526101400190565b60405180910390a16149bd8782614cff565b6149c78683614cff565b50505050505b505050919092555050565b6000614a036e0100000000000000000000000000006dffffffffffffffffffffffffffff84166155ca565b92915050565b6000613bdb6dffffffffffffffffffffffffffff831684615605565b60008281526003840160205260408120548190838111614a4457600080fd5b6000858152600487016020526040902054620f424081614a64878561537f565b614a6e9190615396565b614a789190615402565b600087815260058901602052604090205460018901549195506e01000000000000000000000000000091620f424091900383020404925080876000016000828254614ac3919061537f565b90915550506000868152600488016020908152604080832083905560038a01825280832083905584835260028a0190915281208054839290614b0690849061537f565b925050819055505050935093915050565b81846000016000828254614b2b9190615416565b9091555050600184015460008481526005860160209081526040808320939093556003870181528282208490556004870181528282208590558382526002870190529081208054849290614b80908490615416565b909155505050505050565b600080614b99858585613be2565b925090508015614bb9576000848152600486016020526040812055614bd0565b600185015460008581526005870160205260409020555b935093915050565b6000806000856040015186600001516dffffffffffffffffffffffffffff16614c019190615416565b90506000866060015187602001516dffffffffffffffffffffffffffff16614c299190615416565b9050614c6487600001516dffffffffffffffffffffffffffff1688602001516dffffffffffffffffffffffffffff1688888b60800151614d7d565b604089015191955093508690614c7b908690615416565b614c85919061537f565b604088015260608701518590614c9c908590615416565b614ca6919061537f565b60608801526040870151614cba908361537f565b6dffffffffffffffffffffffffffff1687526060870151614cdb908261537f565b6dffffffffffffffffffffffffffff16602090970196909652509094909350915050565b815415614d39578154700f42400000000000000000000000000000820281614d2957614d296153d3565b6001840180549290910490910190555b5050565b6000818152600283016020526040812054835490918491614d5f90849061537f565b90915550506001820154600091825260069092016020526040902055565b600080600285108015614d905750600284105b614eb7576002851015614dde576000614da98486615396565b905080614db888612710615396565b614dc29190615416565b614dcc828a615396565b614dd69190615402565b925050614eb7565b6002841015614e28576000614df38487615396565b905080614e0289612710615396565b614e0c9190615416565b614e168289615396565b614e209190615402565b915050614eb7565b6000612710614e378588615396565b614e419190615402565b614e4b9089615416565b90506000612710614e5c8688615396565b614e669190615402565b614e709089615416565b905080614e7d838a615396565b614e879190615402565b614e91908361537f565b935081614e9e828b615396565b614ea89190615402565b614eb2908261537f565b925050505b9550959350505050565b73ffffffffffffffffffffffffffffffffffffffff81168114614ee357600080fd5b50565b600080600080600060808688031215614efe57600080fd5b85359450602086013593506040860135614f1781614ec1565b9250606086013567ffffffffffffffff80821115614f3457600080fd5b818801915088601f830112614f4857600080fd5b813581811115614f5757600080fd5b896020828501011115614f6957600080fd5b9699959850939650602001949392505050565b60005b83811015614f97578181015183820152602001614f7f565b83811115614fa6576000848401525b50505050565b6020815260008251806020840152614fcb816040850160208701614f7c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000806040838503121561501057600080fd5b823561501b81614ec1565b946020939093013593505050565b6000806040838503121561503c57600080fd5b82359150602083013561504e81614ec1565b809150509250929050565b60008060006060848603121561506e57600080fd5b833561507981614ec1565b9250602084013561508981614ec1565b929592945050506040919091013590565b6000602082840312156150ac57600080fd5b5035919050565b600080604083850312156150c657600080fd5b50508035926020909101359150565b6000602082840312156150e757600080fd5b8135613bdb81614ec1565b60008060006060848603121561510757600080fd5b833561511281614ec1565b95602085013595506040909401359392505050565b602080825282518282018190526000919060409081850190868401855b828110156151c957815180518552868101518786015285810151868601526060808201519086015260808082015173ffffffffffffffffffffffffffffffffffffffff9081169187019190915260a08083015182169087015260c0808301519091169086015260e0908101511515908501526101009093019290850190600101615144565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561520e578351835292840192918401916001016151f2565b50909695505050505050565b600080600080600080600060e0888a03121561523557600080fd5b873561524081614ec1565b9650602088013561525081614ec1565b95506040880135945060608801359350608088013560ff8116811461527457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156152a457600080fd5b82356152af81614ec1565b9150602083013561504e81614ec1565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101949350505050565b60006020828403121561534957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561539157615391615350565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153ce576153ce615350565b500290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615411576154116153d3565b500490565b6000821982111561542957615429615350565b500190565b60006dffffffffffffffffffffffffffff8381169083168181101561545557615455615350565b039392505050565b60008261546c5761546c6153d3565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000602082840312156154b257600080fd5b8151613bdb81614ec1565b60006dffffffffffffffffffffffffffff8083168185168083038211156154e6576154e6615350565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361554f5761554f615350565b5060010190565b60006020828403121561556857600080fd5b81518015158114613bdb57600080fd5b60006dffffffffffffffffffffffffffff808316818516818304811182151516156155a5576155a5615350565b02949350505050565b600082516155c0818460208701614f7c565b9190910192915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff808316818516818304811182151516156155a5576155a5615350565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80841680615634576156346153d3565b9216919091049291505056fea2646970667358221220ff0f1e271603a9d47de68d4f1859e01970ca59682c13062be4eb53695c552a1464736f6c634300080f0033
Deployed Bytecode Sourcemap
40134:28949:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54003:2161;;;;;;:::i;:::-;;:::i;:::-;;8273:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;45876:185;46014:8;;45876:185;;;46014:8;;;;2000:34:1;;46024:8:0;;;;2065:2:1;2050:18;;2043:43;46034:18:0;;;;;;2102::1;;;2095:51;1939:2;1924:18;45876:185:0;1751:401:1;46069:293:0;;;:::i;:::-;;;;2452:30:1;2509:15;;;2491:34;;2561:15;;;2556:2;2541:18;;2534:43;2625:10;2613:23;;;2593:18;;;2586:51;;;;2673:15;;;2668:2;2653:18;;2646:43;2726:15;;;;2720:3;2705:19;;2698:44;2773:3;2758:19;;2751:35;;;;2429:3;2414:19;46069:293:0;2157:635:1;10178:156:0;;;;;;:::i;:::-;;:::i;:::-;;;3378:14:1;;3371:22;3353:41;;3341:2;3326:18;10178:156:0;3213:187:1;43580:30:0;;;;;;;;;;;;3581:42:1;3569:55;;;3551:74;;3539:2;3524:18;43580:30:0;3405:226:1;40837:28:0;;;;;;;;;;;;3812:30:1;3800:43;;;3782:62;;3770:2;3755:18;40837:28:0;3636:214:1;47145:495:0;;;;;;:::i;:::-;;:::i;:::-;;;4321:25:1;;;4309:2;4294:18;47145:495:0;4175:177:1;48077:384:0;;;;;;:::i;:::-;;:::i;8438:33::-;;;;;;59406:829;;;;;;:::i;:::-;;:::i;40945:26::-;;;;;;;;;10498:313;;;;;;:::i;:::-;;:::i;44151:47::-;;;;;;:::i;:::-;;:::i;:::-;;;;5205:25:1;;;5261:2;5246:18;;5239:34;;;;5289:18;;;5282:34;5193:2;5178:18;44151:47:0;5003:319:1;67419:517:0;;;;;;:::i;:::-;;:::i;:::-;;;;5773:14:1;;5766:22;5748:41;;5820:2;5805:18;;5798:34;;;;5721:18;67419:517:0;5580:258:1;62625:347:0;;;;;;:::i;:::-;;:::i;8766:117::-;;8817:66;8766:117;;8387:44;;8429:2;8387:44;;;;;6197:4:1;6185:17;;;6167:36;;6155:2;6140:18;8387:44:0;6025:184:1;8614:40:0;;;;;;65382:518;;;;;;:::i;:::-;;:::i;:::-;;;;6388:25:1;;;6444:2;6429:18;;6422:34;;;;6361:18;65382:518:0;6214:248:1;65970:513:0;;;;;;:::i;:::-;;:::i;68054:262::-;;;;;;:::i;:::-;;:::i;66538:597::-;;;;;;:::i;:::-;;:::i;:::-;;;;6782:25:1;;;6838:2;6823:18;;6816:34;;;;6866:18;;;6859:34;;;;6924:2;6909:18;;6902:34;;;;6955:42;7034:15;;;7028:3;7013:19;;7006:44;7087:15;;;7081:3;7066:19;;7059:44;7140:15;7134:3;7119:19;;7112:44;6769:3;6754:19;66538:597:0;6467:695:1;44341:211:0;;;:::i;44558:::-;;;:::i;68841:237::-;;;;;;:::i;:::-;;:::i;50986:1291::-;;;;;;:::i;:::-;;:::i;8478:50::-;;;;;;:::i;:::-;;;;;;;;;;;;;;43951:26;;;;;;40625:48;;40669:4;40625:48;;45208:134;;;;;;:::i;:::-;45306:21;;45279:7;45306:21;;;:15;:21;;;;;:28;;45208:134;63152:112;63234:22;;63152:112;;40872:28;;;;;;;;;;;;8890:47;;;;;;:::i;:::-;;;;;;;;;;;;;;44775:122;44860:22;:29;44775:122;;58753:589;;;;;;:::i;:::-;;:::i;60299:870::-;;;;;;:::i;:::-;;:::i;:::-;;;;7640:14:1;;7633:22;7615:41;;7704:42;7692:55;;;7687:2;7672:18;;7665:83;7764:18;;;7757:34;7603:2;7588:18;60299:870:0;7419:378:1;44090:52:0;;;;;;:::i;:::-;;:::i;45350:518::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;52389:1502::-;;;;;;:::i;:::-;;:::i;8332:48::-;;;;;;;;;;;;;;;;;;;;;45070:130;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;68501:224::-;;;:::i;63342:146::-;63440:14;:40;63421:15;:59;63342:146;;10342:148;;;;;;:::i;:::-;;:::i;43381:57::-;;43431:7;43381:57;;56213:395;;;;;;:::i;:::-;;:::i;63496:1066::-;;;;;;:::i;:::-;;:::i;:::-;;;;10537:30:1;10594:15;;;10576:34;;10646:15;;;10641:2;10626:18;;10619:43;10678:18;;10671:34;;;;10741:15;;10736:2;10721:18;;10714:43;10794:15;;;10788:3;10773:19;;10766:44;10514:3;10499:19;63496:1066:0;10268:548:1;43542:31:0;;;;;;;;;;;;57939:589;;;;;;:::i;:::-;;:::i;43617:30::-;;;;;;;;;10819:661;;;;;;:::i;:::-;;:::i;8535:70::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;40909:27;;;;;;64625:684;64924:25;:42;64990:25;:42;64924:14;65071:40;65194:38;;65263;;64625:684;;;12335:25:1;;;12391:2;12376:18;;12369:34;;;;12419:18;;;12412:34;;;;40669:4:0;12477:2:1;12462:18;;12455:34;12520:3;12505:19;;12498:35;12564:3;12549:19;;12542:35;12322:3;12307:19;64625:684:0;12048:535:1;46484:540:0;;;;;;:::i;:::-;;:::i;56657:303::-;;;:::i;54003:2161::-;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;54154:1:::2;54141:10;:14;:32;;;;54172:1;54159:10;:14;54141:32;54136:73;;54183:26;;;;;;;;;;;;;;54136:73;54251:17;54270::::0;54292:13:::2;46014:8:::0;;;;;;;46024;;;;;;;46034:18;;;;;;;45876:185;54292:13:::2;54250:55;;;;;54349:9;54336:22;;:10;:22;:48;;;;;54375:9;54362:22;;:10;:22;54336:48;54331:106;;54394:43;::::0;::::2;::::0;;12772:30:1;12829:15;;;54394:43:0::2;::::0;::::2;12811:34:1::0;12881:15;;12861:18;;;12854:43;12735:18;;54394:43:0::2;;;;;;;54331:106;54611:6;::::0;54650::::2;::::0;54476:13:::2;::::0;;;54611:6:::2;::::0;;::::2;::::0;54650;;::::2;::::0;54676:13;::::2;::::0;::::2;::::0;::::2;::::0;:30:::2;;;54699:7;54693:13;;:2;:13;;;;54676:30;54671:61;;54716:16;;;;;;;;;;;;;;54671:61;54765:14:::0;;54761:58:::2;;54781:38;54795:7;54804:2;54808:10;54781:13;:38::i;:::-;54872:14:::0;;54868:58:::2;;54888:38;54902:7;54911:2;54915:10;54888:13;:38::i;:::-;54979:15:::0;;54975:99:::2;;54996:78;::::0;;;;:36:::2;::::0;::::2;::::0;::::2;::::0;:78:::2;::::0;55033:10:::2;::::0;55045;;55057;;55069:4;;;;54996:78:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;54975:99;55145:13;::::0;55100:42:::2;::::0;;;;55136:4:::2;55100:42;::::0;::::2;3551:74:1::0;55145:13:0::2;::::0;;::::2;::::0;55100:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;55100:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;55229:13;::::0;55184:42:::2;::::0;;;;55220:4:::2;55184:42;::::0;::::2;3551:74:1::0;55089:69:0;;-1:-1:-1;55229:13:0;;::::2;;;::::0;55184:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;55184:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;55173:69;;54524:730;;55264:14;55304:10;55292:9;:22;;;;;;:::i;:::-;55281:8;:33;:75;;55355:1;55281:75;;;55329:22;55341:10:::0;55329:22:::2;::::0;::::2;;:::i;:::-;55317:35;::::0;:8;:35:::2;:::i;:::-;55264:92:::0;-1:-1:-1;55367:14:0::2;55395:22;55407:10:::0;55395:22:::2;::::0;::::2;;:::i;:::-;55384:8;:33;:75;;55458:1;55384:75;;;55432:22;55444:10:::0;55432:22:::2;::::0;::::2;;:::i;:::-;55420:35;::::0;:8;:35:::2;:::i;:::-;55367:92;;55487:1;55475:9;:13;:30;;;;55504:1;55492:9;:13;55475:30;55470:70;;55515:25;;;;;;;;;;;;;;55470:70;55658:13;55682:3;;55674:5;:11;;;;:::i;:::-;55658:27:::0;-1:-1:-1;55700:21:0::2;55746:20;55658:27:::0;55746:9;:20:::2;:::i;:::-;55725:16;:8:::0;55736:5:::2;55725:16;:::i;:::-;55724:43;;;;:::i;:::-;55700:67:::0;-1:-1:-1;55782:21:0::2;55828:20;55840:8:::0;55828:9;:20:::2;:::i;:::-;55807:16;:8:::0;55818:5:::2;55807:16;:::i;:::-;55806:43;;;;:::i;:::-;55782:67:::0;-1:-1:-1;55909:27:0::2;;::::0;;::::2;::::0;:15;::::2;:27;:::i;:::-;:42;::::0;55940:10:::2;55909:42;:::i;:::-;55870:35;55889:16:::0;55870;:35:::2;:::i;:::-;:81;;55864:113;;55961:16;;;;;;;;;;;;;;55864:113;55580:414;;;56006:68;56014:8;56024;56034:9;56045;56056:17;:15;:17::i;:::-;56006:7;:68::i;:::-;56090:66;::::0;;14599:25:1;;;14655:2;14640:18;;14633:34;;;14683:18;;;14676:34;;;14741:2;14726:18;;14719:34;;;56090:66:0::2;::::0;::::2;::::0;56095:10:::2;::::0;56090:66:::2;::::0;14586:3:1;14571:19;56090:66:0::2;;;;;;;-1:-1:-1::0;;45053:1:0;45042:8;:12;-1:-1:-1;;;;;;;;;54003:2161:0:o;46069:293::-;46274:8;;46314:13;;46350:3;;46127:17;;;;;;;;;;;;46274:8;;;;;46284;;;;;;;46294:18;;;;;;;46314:13;;;;46329;;;;;;46344:9;;:5;:9;:::i;:::-;46266:88;;;;-1:-1:-1;46266:88:0;;-1:-1:-1;46266:88:0;-1:-1:-1;46266:88:0;-1:-1:-1;46266:88:0;;-1:-1:-1;46069:293:0;-1:-1:-1;46069:293:0:o;10178:156::-;10251:4;10268:36;10277:10;10289:7;10298:5;10268:8;:36::i;:::-;-1:-1:-1;10322:4:0;10178:156;;;;:::o;47145:495::-;47294:6;;47223:4;;;;;;47294:6;47282:18;;;47294:6;;47282:18;:64;;47327:8;;;;;;;47337;;;;47282:64;;;47304:8;;;;;;;;;47314;47282:64;47240:106;;;;47377:1;47365:9;:13;:30;;;;;47394:1;47382:9;:13;;;47365:30;:48;;;;;47412:1;47399:10;:14;;;47365:48;47357:57;;;;;;47479:14;47496:21;47508:9;47496:21;;;;:::i;:::-;:29;;47520:5;47496:29;:::i;:::-;47479:46;;47536:16;47582:3;;47569:9;47556:10;:22;;;;;;:::i;:::-;47555:30;;;;:::i;:::-;47536:49;-1:-1:-1;47604:23:0;47536:49;47604:9;:23;:::i;:::-;47603:29;;47631:1;47603:29;:::i;:::-;47596:36;47145:495;-1:-1:-1;;;;;;;47145:495:0:o;48077:384::-;48154:4;41737:1;41728:6;:10;:26;;;;;41751:3;41742:6;:12;41728:26;41720:35;;;;;;48211:7:::1;::::0;::::1;::::0;::::1;;;48197:10;:21;48189:30;;;::::0;::::1;;48272:6;:16:::0;;::::1;::::0;;::::1;::::0;;;::::1;;::::0;;;48299:6:::1;:16:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;48332:12:::1;48340:4:::0;48332:5:::1;:12;:::i;:::-;48326:3;:18:::0;18759:21;:30;;;;;;;;;;18843:15;48375:14:::1;18800:58:::0;48435:18:::1;::::0;4321:25:1;;;48435:18:0::1;::::0;4309:2:1;4294:18;48435::0::1;;;;;;;48077:384:::0;;;;:::o;59406:829::-;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;59495:17:::2;::::0;;;59581:42:::2;:14;59615:7:::0;59581:33:::2;:42::i;:::-;59665:6;::::0;59494:129;;-1:-1:-1;59494:129:0;;-1:-1:-1;59494:129:0;-1:-1:-1;59494:129:0;-1:-1:-1;59665:6:0::2;59653:18:::0;;::::2;59665:6:::0;::::2;59653:18;::::0;59707:42:::2;;59737:12;59707:42;;;59719:15;59707:42;59682:13;:68:::0;;:13:::2;::::0;:68:::2;::::0;;;::::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;59786:9;:42;;59813:15;59786:42;;;59798:12;59786:42;59761:13;:68:::0;;:13:::2;::::0;:68:::2;::::0;;;;;::::2;;;;:::i;:::-;::::0;;::::2;::::0;;::::2;;::::0;;;::::2;::::0;;::::2;::::0;;;::::2;;::::0;;::::2;;::::0;;-1:-1:-1;;59902:32:0;;;:23;:32:::2;::::0;;;;:43:::2;;:50:::0;;;::::2;::::0;::::2;::::0;;60004:52:::2;60018:8:::0;60028:10:::2;60040:15:::0;60004:13:::2;:52::i;:::-;60067:50;60081:9;60092:10;60104:12;60067:13;:50::i;:::-;60135:92;::::0;;15717:25:1;;;60135:92:0::2;15839:15:1::0;;;15834:2;15819:18;;15812:43;15871:18;;;15864:34;;;15934:15;;;15929:2;15914:18;;15907:43;15981:3;15966:19;;15959:35;;;60155:10:0::2;::::0;60135:92:::2;::::0;15704:3:1;15689:19;60135:92:0::2;;;;;;;-1:-1:-1::0;;45053:1:0;45042:8;:12;-1:-1:-1;;;;59406:829:0:o;10498:313::-;10606:15;;;10585:4;10606:15;;;:9;:15;;;;;;;;10622:10;10606:27;;;;;;;;10637:14;10606:45;10602:143;;10698:15;;;;;;;:9;:15;;;;;;;;10714:10;10698:27;;;;;;;;:35;;10728:5;;10698:35;:::i;:::-;10668:15;;;;;;;:9;:15;;;;;;;;10684:10;10668:27;;;;;;;:65;10602:143;10755:26;10765:4;10771:2;10775:5;10755:9;:26::i;:::-;-1:-1:-1;10799:4:0;10498:313;;;;;:::o;44151:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44151:47:0;:::o;67419:517::-;67535:17;67563:19;67618:14;:22;;;67608:7;:32;67600:41;;;;;;67671:45;67766:32;;;:23;:32;;;;;67750:14;67766:46;;;;67719:94;;67750:14;67766:46;;67719:30;:94::i;:::-;67671:142;;67854:74;67893:9;67904:7;67913:14;67854:38;:74::i;:::-;67824:104;;;;-1:-1:-1;67419:517:0;-1:-1:-1;;;;67419:517:0:o;62625:347::-;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;62799:14:::1;:40:::0;:57;-1:-1:-1;62799:94:0;::::1;;;;62878:15;62860:14;:33;;62799:94;62796:169;;;62909:44;62938:14;62909:28;:44::i;:::-;-1:-1:-1::0;45053:1:0;45042:8;:12;62625:347::o;65382:518::-;65480:33;;;65624:35;40669:4;65624:15;:35;:::i;:::-;65605:55;;:15;:55;:::i;:::-;65699:77;;;;:56;:77;;;;;;;;;65815:56;:77;;;;;;;65699;;65815;;-1:-1:-1;65382:518:0;-1:-1:-1;;;65382:518:0:o;65970:513::-;66065:36;;;66215:35;40669:4;66215:15;:35;:::i;:::-;66196:55;;:15;:55;:::i;:::-;66293:70;;;;:49;:70;;;;;;;;;66405:49;:70;;;;;;;66293;;66405;;-1:-1:-1;65970:513:0;-1:-1:-1;;;65970:513:0:o;68054:262::-;68137:17;68165:19;68202:37;68223:15;68202:20;:37::i;:::-;68257:51;68283:7;68292:15;68257:25;:51::i;:::-;68250:58;;;;68054:262;;;:::o;66538:597::-;66618:10;66639:25;66675:27;66713:16;66740:13;66764:21;66796:20;66852:14;:22;;;66842:7;:32;66834:41;;;;;;-1:-1:-1;;;66905:37:0;66945:32;;;-1:-1:-1;;66945:23:0;:32;;-1:-1:-1;;66945:32:0;;;66996:8;;67006:23;;;;67031:25;;;;67058:14;;;;67074:11;;;;66945:14;67087:19;;;67108:18;;;;;66996:8;;67006:23;;67031:25;;67058:14;;67074:11;;;;;67087:19;;;67108:18;;;;;66538:597::o;44341:211::-;44426:22;:29;44403:4;;44426:118;;-1:-1:-1;44543:1:0;;44341:211::o;44426:118::-;44462:22;44485:29;;:33;;44517:1;;44485:33;:::i;:::-;44462:57;;;;;;;;:::i;:::-;;;;;;;;;;;:78;;;44419:125;;44341:211;:::o;44558:::-;44643:22;:29;44620:4;;44643:118;;-1:-1:-1;44760:1:0;;44341:211::o;44643:118::-;44679:22;44702:29;;:33;;44734:1;;44702:33;:::i;:::-;44679:57;;;;;;;;:::i;:::-;;;;;;;;;;;:78;;;44636:125;;44558:211;:::o;68841:237::-;41020:45;41049:15;41020:28;:45::i;:::-;68900:6:::1;41737:1;41728:6;:10;:26;;;;;41751:3;41742:6;:12;41728:26;41720:35;;;::::0;::::1;;41325:7:::2;::::0;::::2;::::0;::::2;:21;:7;41336:10;41325:21;::::0;:81:::2;;-1:-1:-1::0;41370:7:0::2;::::0;41350:42:::2;::::0;;;;;;;41396:10:::2;::::0;41370:7:::2;::::0;::::2;41350:56;41370:7;::::0;41350:40:::2;::::0;:42:::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;41370:7;41350:42:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;41325:81;41317:90;;;::::0;::::2;;68953:14:::3;68961:6:::0;68953:5:::3;:14;:::i;:::-;68947:3;:20:::0;69050::::3;::::0;4321:25:1;;;69050:20:0::3;::::0;4309:2:1;4294:18;69050:20:0::3;;;;;;;41076:1:::1;68841:237:::0;:::o;50986:1291::-;51062:14;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;51090:17:::2;51109::::0;51131:13:::2;46014:8:::0;;;;;;;46024;;;;;;;46034:18;;;;;;;45876:185;51131:13:::2;-1:-1:-1::0;51230:13:0::2;::::0;51195:6:::2;::::0;51186:41:::2;::::0;;;;51221:4:::2;51186:41;::::0;::::2;3551:74:1::0;51089:55:0;;-1:-1:-1;51089:55:0;;-1:-1:-1;51170:13:0::2;::::0;51230::::2;::::0;;::::2;::::0;51195:6:::2;;::::0;51186:26:::2;::::0;3524:18:1;;51186:41:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;:::i;:::-;51314:13;::::0;51279:6:::2;::::0;51270:41:::2;::::0;;;;51305:4:::2;51270:41;::::0;::::2;3551:74:1::0;51170:73:0;;-1:-1:-1;51254:13:0::2;::::0;51314;;;::::2;;;::::0;51279:6:::2;::::0;;::::2;::::0;51270:26:::2;::::0;3524:18:1;;51270:41:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;:::i;:::-;51254:73:::0;-1:-1:-1;51338:12:0::2;51353:20;;::::0;::::2;:8:::0;:20:::2;:::i;:::-;51338:35:::0;-1:-1:-1;51384:12:0::2;51399:20;;::::0;::::2;:8:::0;:20:::2;:::i;:::-;51384:35;;51432:10;51445:30;51454:9;51465;51445:8;:30::i;:::-;51486:17;51506:11:::0;;51432:43;;-1:-1:-1;51610:17:0;;;51606:341:::2;;43431:7;51656:28;51666:17;51676:7:::0;51666;:17:::2;:::i;:::-;51656:9;:28::i;:::-;:48;;;;:::i;:::-;51644:60;;51719:36;51733:1;43431:7;51719:5;:36::i;:::-;51606:341;;;51855:80;51864:34;::::0;::::2;:22;51874:12:::0;51864:7;:22:::2;:::i;:::-;:34;;;;:::i;:::-;51900;::::0;::::2;:22;51910:12:::0;51900:7;:22:::2;:::i;:::-;:34;;;;:::i;:::-;51855:8;:80::i;:::-;51843:92;;51606:341;51977:1;51965:9;:13;51957:22;;;::::0;::::2;;52023:20;52029:2;52033:9;52023:5;:20::i;:::-;52056:68;52064:8;52074;52084:9;52095;52106:17;:15;:17::i;52056:68::-;52139:5;52135:44;;;52171:8;::::0;52154:25:::2;::::0;52171:8:::2;::::0;;::::2;::::0;::::2;::::0;52159::::2;52154:25;:::i;:::-;52146:5;:33:::0;52135:44:::2;52235:34;::::0;;6388:25:1;;;6444:2;6429:18;;6422:34;;;52240:10:0::2;::::0;52235:34:::2;::::0;6361:18:1;52235:34:0::2;;;;;;;-1:-1:-1::0;;45053:1:0;45042:8;:12;-1:-1:-1;50986:1291:0;;;-1:-1:-1;;;;;;50986:1291:0:o;58753:589::-;58886:15;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41599:14:::1;::::0;::::1;;:23;41591:32;;;::::0;::::1;;41020:45:::2;41049:15;41020:28;:45::i;:::-;58946:6:::3;::::0;58914:12:::3;::::0;58929:35:::3;::::0;58946:6:::3;;58954:9:::0;58929:16:::3;:35::i;:::-;58914:50;;59000:7;58975:13;;:33;;;;;;;;;;;;;;;;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;59047:13:::3;::::0;59035:8:::3;::::0;58975:33;;-1:-1:-1;59027:33:0::3;::::0;59047:13;;;;::::3;::::0;::::3;::::0;59035:8;::::3;::::0;::::3;59027:33;:::i;:::-;:54;;59019:63;;;::::0;::::3;;59150:6;::::0;59158::::3;::::0;59115:82:::3;::::0;:14:::3;::::0;59150:6:::3;::::0;;::::3;::::0;59158::::3;59166:7:::0;59175:21;59115:34:::3;:82::i;:::-;59224:10;59208:27;::::0;;;:15:::3;:27;::::0;;;;;;;:41;;::::3;::::0;::::3;::::0;;;;;;;;;;;::::3;::::0;;;59265:69;;5205:25:1;;;5246:18;;;5239:34;;;5289:18;;;5282:34;;;59208:41:0;;-1:-1:-1;59224:10:0;59265:69:::3;::::0;5193:2:1;5178:18;59265:69:0::3;;;;;;;;-1:-1:-1::0;45053:1:0;45042:8;:12;58753:589;;-1:-1:-1;;58753:589:0:o;60299:870::-;60399:15;60416:17;60435:19;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;60468:20:::2;::::0;;60529:56:::2;:14;60577:7:::0;60529:47:::2;:56::i;:::-;60616:6;::::0;60467:118;;-1:-1:-1;60467:118:0;;-1:-1:-1;60467:118:0;-1:-1:-1;60616:6:0::2;::::0;;::::2;60600:22:::0;;::::2;::::0;60596:156:::2;;60639:13;:34:::0;;60664:8;;60639:13;::::2;::::0;:34:::2;::::0;60664:8;;60639:34:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;60596:156;;;60731:8;60706:13;;:34;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;60596:156;60828:12;60824:68;;;60842:32;::::0;;;:23;:32:::2;::::0;;;;:43:::2;;:50:::0;;;::::2;::::0;::::2;::::0;;60824:68:::2;60944:49;60958:12;60972:10;60984:8;60944:13;:49::i;:::-;61011:92;::::0;;17017:25:1;;;17073:2;17058:18;;17051:34;;;17128:14;;17121:22;17101:18;;;17094:50;61011:92:0;;::::2;::::0;::::2;::::0;61045:10:::2;::::0;61011:92:::2;::::0;;;;17005:2:1;61011:92:0;;::::2;45053:1:::0;45042:8;:12;61124;61138;;-1:-1:-1;61138:12:0;-1:-1:-1;60299:870:0;-1:-1:-1;;60299:870:0:o;44090:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;45350:518::-;45542:21;;;45513:26;45542:21;;;:15;:21;;;;;;;;45513:50;;;;;;;;;;;;;;;;;45452:48;;45513:26;:50;;45542:21;45513:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45574:20;45597:42;45606:5;45632:6;45613:9;:16;:25;;;;:::i;45597:42::-;45574:65;;45698:12;45668:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45668:43:0;;;;;;;;;;;;;;;45650:61;;45729:9;45724:137;45748:12;45744:1;:16;45724:137;;;45803:23;:46;45827:9;45837:10;45846:1;45837:6;:10;:::i;:::-;45827:21;;;;;;;;:::i;:::-;;;;;;;;;;;;45803:46;;;;;;;;;;;;;-1:-1:-1;45803:46:0;45782:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;;45798:1;;45782:18;;;;;;:::i;:::-;;;;;;:67;;;;45762:3;;;;;:::i;:::-;;;;45724:137;;;;45502:366;;45350:518;;;;;:::o;52389:1502::-;52465:12;52479;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;52505:17:::2;52524::::0;52546:13:::2;46014:8:::0;;;;;;;46024;;;;;;;46034:18;;;;;;;45876:185;52546:13:::2;-1:-1:-1::0;52603:6:0::2;::::0;52653::::2;::::0;52746:13:::2;::::0;52701:42:::2;::::0;;;;52737:4:::2;52701:42;::::0;::::2;3551:74:1::0;52504:55:0;;-1:-1:-1;52504:55:0;;-1:-1:-1;52603:6:0::2;::::0;;::::2;::::0;52653;::::2;::::0;52585:15:::2;::::0;52746:13:::2;::::0;;::::2;::::0;52603:6;;52701:27:::2;::::0;3524:18:1;;52701:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;52831:13;::::0;52786:42:::2;::::0;;;;52822:4:::2;52786:42;::::0;::::2;3551:74:1::0;52685::0;;-1:-1:-1;52770:13:0::2;::::0;52831;;;::::2;;;::::0;52786:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;52786:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;52890:4;52855:14;52872:24:::0;;;:9:::2;:24;::::0;;;;;52770:74;;-1:-1:-1;52922:30:0::2;52931:9:::0;52942;52922:8:::2;:30::i;:::-;52963:17;52983:11:::0;52909:43;;-1:-1:-1;52983:11:0;53093:20:::2;53105:8:::0;53093:9;:20:::2;:::i;:::-;:35;;;;:::i;:::-;53083:45:::0;-1:-1:-1;53220:12:0;53197:20:::2;53209:8:::0;53197:9;:20:::2;:::i;:::-;:35;;;;:::i;:::-;53187:45;;53309:1;53299:7;:11;:26;;;;;53324:1;53314:7;:11;53299:26;53291:35;;;::::0;::::2;;53370:31;53384:4;53391:9;53370:5;:31::i;:::-;53412:35;53426:7;53435:2;53439:7;53412:13;:35::i;:::-;53458;53472:7;53481:2;53485:7;53458:13;:35::i;:::-;53560:13;::::0;53515:42:::2;::::0;;;;53551:4:::2;53515:42;::::0;::::2;3551:74:1::0;53560:13:0::2;::::0;;::::2;::::0;53515:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;53515:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;53640:13;::::0;53595:42:::2;::::0;;;;53631:4:::2;53595:42;::::0;::::2;3551:74:1::0;53504:69:0;;-1:-1:-1;53640:13:0;;::::2;;;::::0;53595:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;53595:42:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:58;;;;:::i;:::-;53584:69;;53666:68;53674:8;53684;53694:9;53705;53716:17;:15;:17::i;53666:68::-;53749:5;53745:44;;;53781:8;::::0;53764:25:::2;::::0;53781:8:::2;::::0;;::::2;::::0;::::2;::::0;53769::::2;53764:25;:::i;:::-;53756:5;:33:::0;53745:44:::2;53845:38;::::0;;6388:25:1;;;6444:2;6429:18;;6422:34;;;53845:38:0::2;::::0;::::2;::::0;53850:10:::2;::::0;53845:38:::2;::::0;6361:18:1;53845:38:0::2;;;;;;;52493:1398;;;;;;;;;45053:1:::0;45042:8;:12;;;;52389:1502;;;:::o;45070:130::-;45171:21;;;;;;;:15;:21;;;;;;;;;45164:28;;;;;;;;;;;;;;;;;45135:16;;45164:28;;;45171:21;45164:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45070:130;;;:::o;68501:224::-;68570:14;;;;68569:15;:61;;;;;68608:7;;;;;;;;;;;68588:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;68561:70;;;;;;68696:14;:21;;;;68713:4;68696:21;;;68501:224::o;10342:148::-;10411:4;10428:32;10438:10;10450:2;10454:5;10428:9;:32::i;56213:395::-;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;56309:6:::2;::::0;56359::::2;::::0;56475:13:::2;::::0;56464:8:::2;::::0;56309:6:::2;::::0;;::::2;::::0;56359;;::::2;::::0;56391:99:::2;::::0;56309:6;;56414:2;;56464:24:::2;::::0;56475:13:::2;::::0;;::::2;::::0;56464:8:::2;:24;:::i;:::-;56418:42;::::0;;;;56454:4:::2;56418:42;::::0;::::2;3551:74:1::0;56418:71:0::2;::::0;;;::::2;::::0;:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;56418:42:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:71;;;;:::i;:::-;56391:13;:99::i;:::-;56585:13;::::0;56574:8:::2;::::0;56501:99:::2;::::0;56515:7;;56524:2;;56574:24:::2;::::0;56585:13:::2;::::0;;;;::::2;::::0;::::2;::::0;56574:8;;::::2;;:24;:::i;:::-;56528:42;::::0;;;;56564:4:::2;56528:42;::::0;::::2;3551:74:1::0;56528:71:0::2;::::0;;;::::2;::::0;:27:::2;::::0;::::2;::::0;::::2;::::0;3524:18:1;;56528:42:0::2;3405:226:1::0;56501:99:0::2;-1:-1:-1::0;;45053:1:0;45042:8;:12;-1:-1:-1;56213:395:0:o;63496:1066::-;63767:14;:40;63846:13;;63835:8;;63581:17;;;;63767:40;;63581:17;;;;;;63835:24;;63846:13;;;;;63835:8;:24;:::i;:::-;63926:13;;63915:8;;63820:39;;-1:-1:-1;63900:12:0;;63915:24;;63926:13;;;;;;;;;63915:8;;;;;:24;:::i;:::-;64043:175;;;;;;;;64102:8;;;;;;64043:175;;64125:8;;;;;;;64043:175;;;;64148:13;;;;;64043:175;;;;;;;64176:13;;;;;64043:175;;;;64204:3;;64043:175;;;;63900:39;;-1:-1:-1;64231:77:0;:14;64285;64043:175;64231:53;:77::i;:::-;64348:23;;;;64341:30;;;;;;:::i;:::-;64321:51;;64410:6;:23;;;64403:4;:30;;;;;;:::i;:::-;64383:51;;64470:6;:23;;;64445:49;;64530:6;:23;;;64505:49;;63726:836;;;63496:1066;;;;;;;:::o;57939:589::-;58072:15;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41599:14:::1;::::0;::::1;;:23;41591:32;;;::::0;::::1;;41020:45:::2;41049:15;41020:28;:45::i;:::-;58132:6:::3;::::0;58100:12:::3;::::0;58115:35:::3;::::0;58132:6:::3;;58140:9:::0;58115:16:::3;:35::i;:::-;58161:13;:33:::0;;58100:50;;-1:-1:-1;58100:50:0;;58161:13:::3;::::0;:33:::3;::::0;58100:50;;58161:33:::3;;;:::i;:::-;::::0;;::::3;::::0;;;::::3;;::::0;;::::3;;::::0;;::::3;::::0;;::::3;;;::::0;;;58233:13:::3;::::0;58221:8:::3;::::0;58161:33;;-1:-1:-1;58213:33:0::3;::::0;58233:13;;::::3;::::0;58221:8;::::3;58213:33;:::i;:::-;:54;;58205:63;;;::::0;::::3;;58336:6;::::0;58344::::3;::::0;58301:82:::3;::::0;:14:::3;::::0;58336:6:::3;::::0;;::::3;::::0;58344::::3;58352:7:::0;58361:21;58301:34:::3;:82::i;:::-;58410:10;58394:27;::::0;;;:15:::3;:27;::::0;;;;;;;:41;;::::3;::::0;::::3;::::0;;;;;;;;;;;::::3;::::0;;;58451:69;;5205:25:1;;;5246:18;;;5239:34;;;5289:18;;;5282:34;;;58394:41:0;;-1:-1:-1;58410:10:0;58451:69:::3;::::0;5193:2:1;5178:18;58451:69:0::3;5003:319:1::0;10819:661:0;10974:15;10962:8;:27;;10954:36;;;;;;11117:16;;11213:13;;;11012:14;11213:13;;;:6;:13;;;;;:15;;11012:14;;11117:16;8817:66;;11190:5;;11197:7;;11206:5;;11213:15;11012:14;11213:15;;;:::i;:::-;;;;-1:-1:-1;11162:77:0;;;;;;18113:25:1;;;;18157:42;18235:15;;;18215:18;;;18208:43;18287:15;;;;18267:18;;;18260:43;18319:18;;;18312:34;18362:19;;;18355:35;18406:19;;;18399:35;;;18085:19;;11162:77:0;;;;;;;;;;;;11152:88;;;;;;11053:202;;;;;;;;18715:66:1;18703:79;;18807:1;18798:11;;18791:27;;;;18843:2;18834:12;;18827:28;18880:2;18871:12;;18445:444;11053:202:0;;;;;;;;;;;;;;11029:237;;11053:202;11029:237;;;;11277:24;11304:26;;;;;;;;;19121:25:1;;;19194:4;19182:17;;19162:18;;;19155:45;;;;19216:18;;;19209:34;;;19259:18;;;19252:34;;;11029:237:0;;-1:-1:-1;11277:24:0;11304:26;;19093:19:1;;11304:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11304:26:0;;;;;;-1:-1:-1;;11349:30:0;;;;;;;:59;;;11403:5;11383:25;;:16;:25;;;11349:59;11341:68;;;;;;11441:31;11450:5;11457:7;11466:5;11441:8;:31::i;:::-;10943:537;;10819:661;;;;;;;:::o;46484:540::-;46632:6;;46561:4;;;;;;46632:6;46621:17;;;46632:6;;46621:17;:63;;46665:8;;;;;;;;;46675;46621:63;;;46642:8;;;;;;;46652;;;;46621:63;46579:105;;;;46714:1;46703:8;:12;:29;;;;;46731:1;46719:9;:13;;;46703:29;:47;;;;;46749:1;46736:10;:14;;;46703:47;46695:56;;;;;;46815:20;46849:3;;46838:8;:14;;;;:::i;:::-;46815:37;-1:-1:-1;46863:14:0;46880:28;;;;46815:37;46880:28;:::i;:::-;46863:45;-1:-1:-1;46919:16:0;46960:15;46939:17;:9;46951:5;46939:17;:::i;:::-;46938:37;;;;;;:::i;:::-;46919:56;-1:-1:-1;46993:23:0;46919:56;46993:9;:23;:::i;:::-;46986:30;46484:540;-1:-1:-1;;;;;;;;46484:540:0:o;56657:303::-;44972:8;;44984:1;44972:13;44964:22;;;;;;45018:1;45007:8;:12;41020:45:::1;41049:15;41020:28;:45::i;:::-;56791:13:::2;::::0;56756:6:::2;::::0;56747:41:::2;::::0;;;;56782:4:::2;56747:41;::::0;::::2;3551:74:1::0;56725:227:0::2;::::0;56791:13:::2;;::::0;56756:6:::2;;::::0;56747:26:::2;::::0;3524:18:1;;56747:41:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;:::i;:::-;56863:13;::::0;56828:6:::2;::::0;56819:41:::2;::::0;;;;56854:4:::2;56819:41;::::0;::::2;3551:74:1::0;56863:13:0;;;::::2;;;::::0;56828:6:::2;::::0;;::::2;::::0;56819:26:::2;::::0;3524:18:1;;56819:41:0::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;;;;:::i;:::-;56891:8;::::0;::::2;::::0;;::::2;::::0;56901;;::::2;;56924:17;:15;:17::i;56725:227::-;45053:1:::0;45042:8;:12;56657:303::o;61335:1141::-;61422:14;;;;61419:26;;;61335:1141;:::o;61419:26::-;63440:14;:40;63421:15;:59;61480:27;;61335:1141;:::o;61480:27::-;61592:175;;;;;;;;61651:8;;;;;;61592:175;;61674:8;;;;;;;61592:175;;;;61697:13;;;;;61592:175;;;;;;;61725:13;;;;;61592:175;;;;61753:3;;61592:175;;;;61780:73;:14;61830;61592:175;61780:49;:73::i;:::-;61890:23;;;;61866:13;:48;;61949:23;;;;61866:48;61925;;;;;;;;;61866;;61925;;;;;;;;;;62024:18;;62084;;;;61866:13;62137:17;:15;:17::i;:::-;62116:38;;62225:1;62211:11;:15;;;:71;;;;-1:-1:-1;62246:8:0;;;62231:23;;;62246:8;;62231:23;;;:50;;-1:-1:-1;62273:8:0;;;62258:23;;;62273:8;;;;;62258:23;;62231:50;62206:263;;;62333:8;;62299:66;;;;;;;;;;;62333:8;;;;62343;;;;62353:11;62299:7;:66::i;:::-;62206:263;;;62398:8;:22;;;62435;;;;;;;;;62398;;;62435;;;;62206:263;61406:1070;;;;61335:1141;:::o;47648:276::-;43497:34;;;;;;;;;;;;;;;;;47776:43;;47765:10;19777:55:1;;;47776:43:0;;;19759:74:1;19849:18;;;;19842:34;;;47776:43:0;;;;;;;;;;19732:18:1;;;;47776:43:0;;;;;;;;;;;;;47765:55;;-1:-1:-1;;;;47765:10:0;;;:55;;47776:43;47765:55;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47729:91;;;;47839:7;:57;;;;-1:-1:-1;47851:11:0;;:16;;:44;;;47882:4;47871:24;;;;;;;;;;;;:::i;:::-;47831:66;;;;;48469:311;48518:6;;48568:25;48586:7;48568:15;:25;:::i;:::-;48691:18;;;;;;;48674:35;;;;-1:-1:-1;;48469:311:0:o;48865:1091::-;49006:13;;49023:17;;48995:24;;49006:13;;48995:8;:24;:::i;:::-;:45;;:94;;;;-1:-1:-1;49055:13:0;;49072:17;;49044:24;;49055:13;;;;;49044:8;:24;:::i;:::-;:45;;48995:94;48989:127;;49099:17;;;;;;;;;;;;;;48989:127;49139:21;49170:25;49188:7;49170:15;:25;:::i;:::-;49139:57;;49251:1;49237:11;:15;;;:33;;;;-1:-1:-1;49256:14:0;;;;;49237:33;:51;;;;-1:-1:-1;49274:14:0;;;;;49237:51;49233:537;;;49374:22;49424:311;;;;;;;;49466:14;49424:311;;;;;;49585:11;49532:64;;49537:44;49571:9;49537:27;49554:9;49537:16;:27::i;:::-;:33;;;;:44::i;:::-;49532:50;;:64;49507:22;:20;:22::i;:::-;:89;49424:311;;;;49701:11;49648:64;;49653:44;49687:9;49653:27;49670:9;49653:16;:27::i;:44::-;49648:50;;:64;49623:22;:20;:22::i;:::-;:89;49424:311;;49374:380;;;;;;;;-1:-1:-1;49374:380:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49233:537;49793:8;:28;;49873:35;;;;;;49793:28;49832;;;;;;;;;;;49793;;;49832;;;;;49873:35;;;;;;;;;49924:24;;;49929:8;;;;;;;;;;12811:34:1;;49939:8:0;;;;;;;12876:2:1;12861:18;;12854:43;49924:24:0;;12735:18:1;49924:24:0;;;;;;;48978:978;48865:1091;;;;;:::o;9779:169::-;9860:16;;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:33;;;9909:31;;4321:25:1;;;9909:31:0;;4294:18:1;9909:31:0;;;;;;;;9779:169;;;:::o;20518:756::-;20620:17;20822:32;;;:23;;;:32;;;;;20876:18;;;;20917:19;;;;20876:18;20917:19;;;;20620:17;20876:18;;;20620:17;;;20979:39;20822:14;20917:19;20979:12;:39::i;:::-;20949:69;;21063:82;21084:9;21095:7;21104:14;:40;;;21063:20;:82::i;:::-;21166:11;;;;21029:116;;-1:-1:-1;21029:116:0;-1:-1:-1;21166:25:0;:11;21181:10;21166:25;:70;;;;;21211:1;21196:12;:16;:39;;;;21234:1;21216:15;:19;21196:39;21158:79;;;;;;20704:570;;20518:756;;;;;;;:::o;9956:214::-;10050:15;;;;;;;:9;:15;;;;;;:23;;10068:5;;10050:23;:::i;:::-;10032:15;;;;;;;;:9;:15;;;;;;:41;;;;10100:13;;;;;;;:21;;10116:5;;10100:21;:::i;:::-;10084:13;;;;;;;;:9;:13;;;;;;;:37;;;;10137:25;;;;;;;;;;10156:5;4321:25:1;;4309:2;4294:18;;4175:177;18923:245:0;19083:21;;;;19022:27;;19083:21;19074:30;;;19083:21;;19074:30;:86;;19135:14;:25;;19074:86;;;19107:14;:25;;19074:86;19062:98;18923:245;-1:-1:-1;;;18923:245:0:o;37519:1176::-;37642:17;37716:28;;;:19;;;:28;;;;;;37642:17;;37763:16;37755:25;;;;;;37791:19;37813:30;;;:21;;;:30;;;;;;;;;37889:34;;;:43;;;;;;;38031:29;;;38027:661;;38077:28;38108:46;;;:33;;;:46;;;;;;17164:6;17117:7;38247:47;;;38246:64;;:97;38245:106;38231:120;;38396:4;38381:19;;38062:350;38027:661;;;17164:6;17117:7;38519:99;;38573:12;38545:24;38520:9;:22;;;:49;38519:66;:99;;;;;:::i;:::-;;38518:108;;;;;:::i;:::-;;38504:122;;38671:5;38656:20;;38027:661;37682:1013;;;37519:1176;;;;;;:::o;50046:828::-;50119:10;50142:13;50178:7;;;;;;;;;;;50158:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;50257:5;;50213:19;;;;;;;-1:-1:-1;50142:52:0;;-1:-1:-1;50257:5:0;50288:579;;50318:11;;50314:483;;50350:10;50363:38;50373:27;;;;;;:15;;:27;:::i;50363:38::-;50350:51;;50420:14;50437:17;50447:6;50437:9;:17::i;:::-;50420:34;;50485:9;50477:5;:17;50473:309;;;50519:14;50551:17;50559:9;50551:5;:17;:::i;:::-;50536:11;;:33;;;;:::i;:::-;50519:50;-1:-1:-1;50592:16:0;50625:9;50612;:5;50620:1;50612:9;:::i;:::-;50611:23;;;;:::i;:::-;50592:42;-1:-1:-1;50657:14:0;50674:23;50592:42;50674:9;:23;:::i;:::-;50657:40;-1:-1:-1;50724:13:0;;50720:42;;50739:23;50745:5;50752:9;50739:5;:23::i;:::-;50496:286;;;50473:309;50331:466;;50314:483;50288:579;;;50818:11;;50814:53;;50854:1;50846:5;:9;50814:53;50131:743;;50046:828;;;;:::o;11834:303::-;11879:6;11906:1;11902;:5;11898:232;;;-1:-1:-1;11928:1:0;11944:6;11953:5;11957:1;11928;11953:5;:::i;:::-;:9;;11961:1;11953:9;:::i;:::-;11944:18;;11977:92;11988:1;11984;:5;11977:92;;;12014:1;-1:-1:-1;12014:1:0;12052;12014;12039:5;12014:1;12039;:5;:::i;:::-;:9;;;;:::i;:::-;12038:15;;;;:::i;:::-;12034:19;;11977:92;;;11909:171;11834:303;;;:::o;11898:232::-;12090:6;;12086:44;;-1:-1:-1;12117:1:0;12086:44;11834:303;;;:::o;9365:195::-;9452:5;9438:11;;:19;;;;:::i;:::-;9424:11;:33;;;9484:13;;;;;:9;:13;;;;;;:21;;9500:5;;9484:21;:::i;:::-;9468:13;;;;;;;:9;:13;;;;;;:37;;;;9521:31;;9468:13;;;9521:31;;;;9546:5;4321:25:1;;4309:2;4294:18;;4175:177;9521:31:0;;;;;;;;9365:195;;:::o;11620:96::-;11672:6;11699:1;11695;:5;:13;;11707:1;11695:13;;;-1:-1:-1;11703:1:0;;11691:17;-1:-1:-1;11620:96:0:o;57088:626::-;57216:40;;;;;57250:4;57216:40;;;3551:74:1;57161:7:0;;;;57216:25;;;;;;3524:18:1;;57216:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;57464:71;;;57499:10;57464:71;;;20429:34:1;57519:4:0;20479:18:1;;;20472:43;20531:18;;;;20524:34;;;57464:71:0;;;;;;;;;;20341:18:1;;;;57464:71:0;;;;;;;;;;;;;57453:83;;57205:51;;-1:-1:-1;;;;;57453:10:0;;;;:83;;57464:71;57453:83;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;57417:119;;;;57555:7;:57;;;;-1:-1:-1;57567:11:0;;:16;;:44;;;57598:4;57587:24;;;;;;;;;;;;:::i;:::-;57547:66;;;;;;57660:40;;;;;57694:4;57660:40;;;3551:74:1;57703:3:0;;57660:25;;;;;;3524:18:1;;57660:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;;;:::i;:::-;57653:53;57088:626;-1:-1:-1;;;;;;57088:626:0:o;19226:1194::-;19385:7;19603:15;19385:7;19674:31;17223:4;19603:15;19674:31;:::i;:::-;19659:47;;:11;:47;:::i;:::-;19629:77;-1:-1:-1;19717:19:0;19629:77;19760:25;:21;19784:1;19760:25;:::i;:::-;19739:47;;17223:4;19739:47;:::i;:::-;:69;;;;:::i;:::-;19717:91;-1:-1:-1;19819:19:0;19884:25;19898:11;19717:91;19884:25;:::i;:::-;19841:39;19874:6;17117:7;19841:39;:::i;:::-;:69;;;;:::i;:::-;19819:91;;19945:1;19931:11;:15;19923:24;;;;;;20025:27;20055:34;20068:14;20084:4;20055:12;:34::i;:::-;20025:64;;20100:82;20122:9;20133:14;:22;;;20157:11;20170;20100:21;:82::i;:::-;20273:97;;;;;;;;20279:14;:22;;;20273:97;;;;20303:11;20273:97;;;;20316:11;20273:97;;;;20329:11;20273:97;;;;20342:10;20273:97;;;;;;20354:4;20273:97;;;;;;20360:2;20273:97;;;;;;20364:5;20273:97;;;;;20223:14;:23;;:47;20247:14;:22;;;20223:47;;;;;;;;;;;:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20388:14;:22;;;:24;;;;;;;;;:::i;:::-;;;;-1:-1:-1;20381:31:0;19226:1194;-1:-1:-1;;;;;;;;;;;19226:1194:0:o;21366:684::-;21482:20;21659:32;;;:23;;;:32;;;;;21717:18;;;;21807:19;;;;21717:18;;;;;21482:20;;;21659:32;;21482:20;;21778:49;;21659:14;;21807:19;21778:12;:49::i;:::-;21748:79;;21865:87;21891:9;21902:7;21911:14;:40;;;21865:25;:87::i;:::-;21973:11;;;;21838:114;;-1:-1:-1;21838:114:0;-1:-1:-1;21973:25:0;:11;21988:10;21973:25;:41;;;;;22013:1;22002:8;:12;21973:41;21965:50;;;;;;21541:509;;21366:684;;;;;:::o;9568:203::-;9647:15;;;;;;;:9;:15;;;;;;:23;;9665:5;;9647:23;:::i;:::-;9629:15;;;;;;;:9;:15;;;;;:41;;;;9695:11;:19;;9709:5;;9695:19;:::i;:::-;9681:11;:33;;;9730;;4321:25:1;;;9730:33:0;;;;;;4309:2:1;4294:18;9730:33:0;4175:177:1;29465:2712:0;29693:40;;29652:38;17223:4;29825:50;17223:4;29693:40;29825:50;:::i;:::-;29791:85;;:30;:85;:::i;:::-;:105;;;;:::i;:::-;30032:25;;;30248:27;;30099:25;;;30314:27;;29756:140;;-1:-1:-1;30032:25:0;;30354:1189;30389:14;30361:24;:42;30354:1189;;30558:1;30488:67;;;:41;;;:67;;;;;;:71;;;:163;;-1:-1:-1;30650:1:0;30580:67;;;:41;;;:67;;;;;;:71;;30488:163;30484:988;;;30725:29;30757:57;30784:30;30757:24;:57;:::i;:::-;30725:89;-1:-1:-1;30833:24:0;17117:7;30860:41;30725:89;30860:17;:41;:::i;:::-;:74;;;;:::i;:::-;30833:101;-1:-1:-1;30953:24:0;17117:7;30980:41;31000:21;30980:17;:41;:::i;:::-;:74;;;;:::i;:::-;30953:101;;31075:87;31112:13;31127:16;31145;31075:36;:87::i;:::-;-1:-1:-1;;31204:67:0;;;;:41;;;:67;;;;;;31183:88;;;;:::i;:::-;31311:67;;;;:41;;;:67;;;;;;31183:88;;-1:-1:-1;31290:88:0;;;;:::i;:::-;;;31432:24;31399:57;;30653:819;;;30484:988;31486:45;17223:4;31486:45;;:::i;:::-;;;30354:1189;;;31661:14;31627:30;:48;31623:547;;31741:29;31773:47;31790:30;31773:14;:47;:::i;:::-;31741:79;-1:-1:-1;31835:24:0;17117:7;31862:41;31741:79;31862:17;:41;:::i;:::-;:74;;;;:::i;:::-;31835:101;-1:-1:-1;31951:24:0;17117:7;31978:41;31998:21;31978:17;:41;:::i;:::-;:74;;;;:::i;:::-;31951:101;;32069:87;32106:13;32121:16;32139;32069:36;:87::i;:::-;;;31677:493;;;29639:2538;;;;;;29465:2712;;;:::o;25093:4276::-;25312:40;;25271:38;17223:4;25444:50;17223:4;25312:40;25444:50;:::i;:::-;25410:85;;:30;:85;:::i;:::-;:105;;;;:::i;:::-;25375:140;-1:-1:-1;25651:25:0;;;25718;;;25756:2102;25791:14;25763:24;:42;25756:2102;;25960:1;25890:67;;;:41;;;:67;;;;;;:71;;;:163;;-1:-1:-1;26052:1:0;25982:67;;;:41;;;:67;;;;;;:71;;25890:163;25886:1901;;;26127:29;26159:57;26186:30;26159:24;:57;:::i;:::-;26262:27;;26127:89;;-1:-1:-1;26235:24:0;;17117:7;;26262:51;;26127:89;;26262:51;:::i;:::-;:84;;;;:::i;:::-;26392:27;;26235:111;;-1:-1:-1;26365:24:0;;17117:7;;26392:51;;26422:21;;26392:51;:::i;:::-;:84;;;;:::i;:::-;26365:111;;26498:17;26517;26538:87;26575:13;26590:16;26608;26538:36;:87::i;:::-;26497:128;;;;26766:49;26793:10;26805:9;26766:26;:49::i;:::-;26834;26861:10;26873:9;26834:26;:49::i;:::-;27019:77;27059:10;27071:24;27019:39;:77::i;:::-;27115;27155:10;27167:24;27115:39;:77::i;:::-;27218:475;27262:24;27309:21;27353:13;:25;;;27401:13;:25;;;27449:13;:30;;;27502:13;:30;;;27555:9;27587;27619:16;27658;27218:475;;;;;;;;;;;;;;20968:25:1;;;21024:2;21009:18;;21002:34;;;;21055:30;21121:15;;;21116:2;21101:18;;21094:43;21173:15;;;;21168:2;21153:18;;21146:43;21220:3;21205:19;;21198:35;;;;21264:3;21249:19;;21242:35;21308:3;21293:19;;21286:35;21352:3;21337:19;;21330:35;;;;21396:3;21381:19;;21374:35;21440:3;21425:19;;21418:35;20955:3;20940:19;;20569:890;27218:475:0;;;;;;;;27747:24;27714:57;;26055:1732;;;;;25886:1901;27801:45;17223:4;27801:45;;:::i;:::-;;;25756:2102;;;27976:14;27942:30;:48;27938:1354;;28056:29;28088:47;28105:30;28088:14;:47;:::i;:::-;28177:27;;28056:79;;-1:-1:-1;28150:24:0;;17117:7;;28177:51;;28056:79;;28177:51;:::i;:::-;:84;;;;:::i;:::-;28303:27;;28150:111;;-1:-1:-1;28276:24:0;;17117:7;;28303:51;;28333:21;;28303:51;:::i;:::-;:84;;;;:::i;:::-;28276:111;;28405:17;28424;28445:87;28482:13;28497:16;28515;28445:36;:87::i;:::-;28404:128;;;;28554:421;28594:14;28627:21;28667:13;:25;;;28711:13;:25;;;28755:13;:30;;;28804:13;:30;;;28853:9;28881;28909:16;28944;28554:421;;;;;;;;;;;;;;20968:25:1;;;21024:2;21009:18;;21002:34;;;;21055:30;21121:15;;;21116:2;21101:18;;21094:43;21173:15;;;;21168:2;21153:18;;21146:43;21220:3;21205:19;;21198:35;;;;21264:3;21249:19;;21242:35;21308:3;21293:19;;21286:35;21352:3;21337:19;;21330:35;;;;21396:3;21381:19;;21374:35;21440:3;21425:19;;21418:35;20955:3;20940:19;;20569:890;28554:421:0;;;;;;;;29048:49;29075:10;29087:9;29048:26;:49::i;:::-;29112;29139:10;29151:9;29112:26;:49::i;:::-;27992:1300;;;;;27938:1354;-1:-1:-1;;;29304:57:0;;;;-1:-1:-1;;25093:4276:0:o;12473:120::-;12523:9;12549:17;12418:6;12549:10;;;:17;:::i;:::-;12545:21;12473:120;-1:-1:-1;;12473:120:0:o;12664:108::-;12724:9;12750:14;12754:10;;;12750:1;:14;:::i;35483:1024::-;35601:20;35676:30;;;:21;;;:30;;;;;;35601:20;;35725:23;;;35717:32;;;;;;35833:17;35853:28;;;:19;;;:28;;;;;;17117:7;35853:28;35908:23;35917:14;35908:6;:23;:::i;:::-;35907:37;;;;:::i;:::-;:70;;;;:::i;:::-;36155:43;;;;:34;;;:43;;;;;;36130:22;;;;35892:85;;-1:-1:-1;17164:6:0;;17117:7;36130:68;;;36129:82;;:115;36128:124;36110:142;;36330:9;36300;:26;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;;36381:1:0;36350:28;;;:19;;;:28;;;;;;;;:32;;;36393:21;;;:30;;;;;:34;;;36438:48;;;:40;;;:48;;;;;:61;;36490:9;;36381:1;36438:61;;36490:9;;36438:61;:::i;:::-;;;;;;;;35648:859;;35483:1024;;;;;;:::o;34528:478::-;34703:17;34673:9;:26;;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;34777:22:0;;;;34731:43;;;;:34;;;:43;;;;;;;;:68;;;;34810:21;;;:30;;;;;:44;;;34865:19;;;:28;;;;;:48;;;34924:53;;;:40;;;:53;;;;;:74;;34896:17;;34731:43;34924:74;;34896:17;;34924:74;:::i;:::-;;;;-1:-1:-1;;;;;;34528:478:0:o;36867:561::-;36990:19;37011:17;37071:56;37092:9;37103:7;37112:14;37071:20;:56::i;:::-;37041:86;-1:-1:-1;37041:86:0;-1:-1:-1;37140:281:0;;;;37232:1;37201:28;;;:19;;;:28;;;;;:32;37140:281;;;37387:22;;;;37341:43;;;;:34;;;:43;;;;;:68;37140:281;36867:561;;;;;;:::o;23786:1222::-;23989:17;24008;24071:12;24114:13;:30;;;24086:13;:25;;;:58;;;;;;:::i;:::-;24071:73;;24155:12;24198:13;:30;;;24170:13;:25;;;:58;;;;;;:::i;:::-;24155:73;;24305:207;24342:13;:25;;;24305:207;;24382:13;:25;;;24305:207;;24422:16;24453;24484:13;:17;;;24305:22;:207::i;:::-;24594:30;;;;24280:232;;-1:-1:-1;24280:232:0;-1:-1:-1;24639:16:0;;24594:42;;24280:232;;24594:42;:::i;:::-;:61;;;;:::i;:::-;24561:30;;;:94;24699:30;;;;24744:16;;24699:42;;24732:9;;24699:42;:::i;:::-;:61;;;;:::i;:::-;24666:30;;;:94;24814:30;;;;24807:37;;:4;:37;:::i;:::-;24771:74;;;;24934:30;;;;24927:37;;:4;:37;:::i;:::-;24891:74;;:25;;;;:74;;;;-1:-1:-1;23786:1222:0;;;;-1:-1:-1;23786:1222:0;-1:-1:-1;;23786:1222:0:o;34120:346::-;34225:26;;:31;34221:238;;34406:26;;34357:46;;;34406:26;34357:75;;;;:::i;:::-;34331:22;;;:101;;34357:75;;;;34331:101;;;;;34221:238;34120:346;;:::o;35114:301::-;35266:56;;;;:40;;;:56;;;;;;35236:86;;35266:56;;:9;;35236:86;;35266:56;;35236:86;:::i;:::-;;;;-1:-1:-1;;35385:22:0;;;;35333:49;;;;:33;;;;:49;;;;;:74;35114:301::o;22131:1410::-;22328:17;;22527:1;22516:12;;:28;;;;;22543:1;22532:8;:12;22516:28;22512:1022;;22700:1;22689:8;:12;22685:849;;;22758:20;22781:14;22792:3;22781:8;:14;:::i;:::-;22758:37;-1:-1:-1;22758:37:0;22856:19;:11;22870:5;22856:19;:::i;:::-;22855:39;;;;:::i;:::-;22822:29;22836:15;22822:11;:29;:::i;:::-;:73;;;;:::i;:::-;22810:85;;22703:204;22685:849;;;22937:1;22926:8;:12;22922:612;;;22994:20;23017:14;23028:3;23017:8;:14;:::i;:::-;22994:37;-1:-1:-1;22994:37:0;23092:19;:11;23106:5;23092:19;:::i;:::-;23091:39;;;;:::i;:::-;23058:29;23072:15;23058:11;:29;:::i;:::-;:73;;;;:::i;:::-;23046:85;;22940:203;22922:612;;;23231:17;23283:5;23266:14;23277:3;23266:8;:14;:::i;:::-;:22;;;;:::i;:::-;23251:38;;:11;:38;:::i;:::-;23231:58;-1:-1:-1;23304:17:0;23356:5;23339:14;23350:3;23339:8;:14;:::i;:::-;:22;;;;:::i;:::-;23324:38;;:11;:38;:::i;:::-;23304:58;-1:-1:-1;23304:58:0;23402:25;23417:9;23402:11;:25;:::i;:::-;:39;;;;:::i;:::-;23389:53;;:9;:53;:::i;:::-;23377:65;-1:-1:-1;23511:9:0;23482:25;23497:9;23482:11;:25;:::i;:::-;:39;;;;:::i;:::-;23469:53;;:9;:53;:::i;:::-;23457:65;;23216:318;;22922:612;22131:1410;;;;;;;;:::o;14:154:1:-;100:42;93:5;89:54;82:5;79:65;69:93;;158:1;155;148:12;69:93;14:154;:::o;173:863::-;270:6;278;286;294;302;355:3;343:9;334:7;330:23;326:33;323:53;;;372:1;369;362:12;323:53;408:9;395:23;385:33;;465:2;454:9;450:18;437:32;427:42;;519:2;508:9;504:18;491:32;532:31;557:5;532:31;:::i;:::-;582:5;-1:-1:-1;638:2:1;623:18;;610:32;661:18;691:14;;;688:34;;;718:1;715;708:12;688:34;756:6;745:9;741:22;731:32;;801:7;794:4;790:2;786:13;782:27;772:55;;823:1;820;813:12;772:55;863:2;850:16;889:2;881:6;878:14;875:34;;;905:1;902;895:12;875:34;950:7;945:2;936:6;932:2;928:15;924:24;921:37;918:57;;;971:1;968;961:12;918:57;173:863;;;;-1:-1:-1;173:863:1;;-1:-1:-1;1002:2:1;994:11;;1024:6;173:863;-1:-1:-1;;;173:863:1:o;1041:258::-;1113:1;1123:113;1137:6;1134:1;1131:13;1123:113;;;1213:11;;;1207:18;1194:11;;;1187:39;1159:2;1152:10;1123:113;;;1254:6;1251:1;1248:13;1245:48;;;1289:1;1280:6;1275:3;1271:16;1264:27;1245:48;;1041:258;;;:::o;1304:442::-;1453:2;1442:9;1435:21;1416:4;1485:6;1479:13;1528:6;1523:2;1512:9;1508:18;1501:34;1544:66;1603:6;1598:2;1587:9;1583:18;1578:2;1570:6;1566:15;1544:66;:::i;:::-;1662:2;1650:15;1667:66;1646:88;1631:104;;;;1737:2;1627:113;;1304:442;-1:-1:-1;;1304:442:1:o;2797:315::-;2865:6;2873;2926:2;2914:9;2905:7;2901:23;2897:32;2894:52;;;2942:1;2939;2932:12;2894:52;2981:9;2968:23;3000:31;3025:5;3000:31;:::i;:::-;3050:5;3102:2;3087:18;;;;3074:32;;-1:-1:-1;;;2797:315:1:o;3855:::-;3923:6;3931;3984:2;3972:9;3963:7;3959:23;3955:32;3952:52;;;4000:1;3997;3990:12;3952:52;4036:9;4023:23;4013:33;;4096:2;4085:9;4081:18;4068:32;4109:31;4134:5;4109:31;:::i;:::-;4159:5;4149:15;;;3855:315;;;;;:::o;4357:456::-;4434:6;4442;4450;4503:2;4491:9;4482:7;4478:23;4474:32;4471:52;;;4519:1;4516;4509:12;4471:52;4558:9;4545:23;4577:31;4602:5;4577:31;:::i;:::-;4627:5;-1:-1:-1;4684:2:1;4669:18;;4656:32;4697:33;4656:32;4697:33;:::i;:::-;4357:456;;4749:7;;-1:-1:-1;;;4803:2:1;4788:18;;;;4775:32;;4357:456::o;4818:180::-;4877:6;4930:2;4918:9;4909:7;4905:23;4901:32;4898:52;;;4946:1;4943;4936:12;4898:52;-1:-1:-1;4969:23:1;;4818:180;-1:-1:-1;4818:180:1:o;5327:248::-;5395:6;5403;5456:2;5444:9;5435:7;5431:23;5427:32;5424:52;;;5472:1;5469;5462:12;5424:52;-1:-1:-1;;5495:23:1;;;5565:2;5550:18;;;5537:32;;-1:-1:-1;5327:248:1:o;7167:247::-;7226:6;7279:2;7267:9;7258:7;7254:23;7250:32;7247:52;;;7295:1;7292;7285:12;7247:52;7334:9;7321:23;7353:31;7378:5;7353:31;:::i;7802:383::-;7879:6;7887;7895;7948:2;7936:9;7927:7;7923:23;7919:32;7916:52;;;7964:1;7961;7954:12;7916:52;8003:9;7990:23;8022:31;8047:5;8022:31;:::i;:::-;8072:5;8124:2;8109:18;;8096:32;;-1:-1:-1;8175:2:1;8160:18;;;8147:32;;7802:383;-1:-1:-1;;;7802:383:1:o;8190:1436::-;8407:2;8459:21;;;8529:13;;8432:18;;;8551:22;;;8378:4;;8407:2;8592;;8610:18;;;;8651:15;;;8378:4;8694:906;8708:6;8705:1;8702:13;8694:906;;;8767:13;;8805:9;;8793:22;;8855:11;;;8849:18;8835:12;;;8828:40;8908:11;;;8902:18;8888:12;;;8881:40;8944:4;8988:11;;;8982:18;8968:12;;;8961:40;9024:4;9067:11;;;9061:18;9102:42;9178:21;;;9164:12;;;9157:43;;;;9223:4;9271:11;;;9265:18;9261:27;;9247:12;;;9240:49;9312:4;9360:11;;;9354:18;9350:27;;;9336:12;;;9329:49;9401:4;9446:11;;;9440:18;3187:13;3180:21;9503:12;;;3168:34;9545:6;9536:16;;;;9575:15;;;;8730:1;8723:9;8694:906;;;-1:-1:-1;9617:3:1;;8190:1436;-1:-1:-1;;;;;;;8190:1436:1:o;9631:632::-;9802:2;9854:21;;;9924:13;;9827:18;;;9946:22;;;9773:4;;9802:2;10025:15;;;;9999:2;9984:18;;;9773:4;10068:169;10082:6;10079:1;10076:13;10068:169;;;10143:13;;10131:26;;10212:15;;;;10177:12;;;;10104:1;10097:9;10068:169;;;-1:-1:-1;10254:3:1;;9631:632;-1:-1:-1;;;;;;9631:632:1:o;10821:829::-;10932:6;10940;10948;10956;10964;10972;10980;11033:3;11021:9;11012:7;11008:23;11004:33;11001:53;;;11050:1;11047;11040:12;11001:53;11089:9;11076:23;11108:31;11133:5;11108:31;:::i;:::-;11158:5;-1:-1:-1;11215:2:1;11200:18;;11187:32;11228:33;11187:32;11228:33;:::i;:::-;11280:7;-1:-1:-1;11334:2:1;11319:18;;11306:32;;-1:-1:-1;11385:2:1;11370:18;;11357:32;;-1:-1:-1;11441:3:1;11426:19;;11413:33;11490:4;11477:18;;11465:31;;11455:59;;11510:1;11507;11500:12;11455:59;10821:829;;;;-1:-1:-1;10821:829:1;;;;11533:7;11587:3;11572:19;;11559:33;;-1:-1:-1;11639:3:1;11624:19;;;11611:33;;10821:829;-1:-1:-1;;10821:829:1:o;11655:388::-;11723:6;11731;11784:2;11772:9;11763:7;11759:23;11755:32;11752:52;;;11800:1;11797;11790:12;11752:52;11839:9;11826:23;11858:31;11883:5;11858:31;:::i;:::-;11908:5;-1:-1:-1;11965:2:1;11950:18;;11937:32;11978:33;11937:32;11978:33;:::i;12908:714::-;13161:42;13153:6;13149:55;13138:9;13131:74;13241:6;13236:2;13225:9;13221:18;13214:34;13284:6;13279:2;13268:9;13264:18;13257:34;13327:3;13322:2;13311:9;13307:18;13300:31;13368:6;13362:3;13351:9;13347:19;13340:35;13426:6;13418;13412:3;13401:9;13397:19;13384:49;13483:1;13453:22;;;13477:3;13449:32;;;13442:43;;;;13537:2;13525:15;;;13542:66;13521:88;13506:104;13502:114;;12908:714;-1:-1:-1;;;;12908:714:1:o;13627:184::-;13697:6;13750:2;13738:9;13729:7;13725:23;13721:32;13718:52;;;13766:1;13763;13756:12;13718:52;-1:-1:-1;13789:16:1;;13627:184;-1:-1:-1;13627:184:1:o;13816:::-;13868:77;13865:1;13858:88;13965:4;13962:1;13955:15;13989:4;13986:1;13979:15;14005:125;14045:4;14073:1;14070;14067:8;14064:34;;;14078:18;;:::i;:::-;-1:-1:-1;14115:9:1;;14005:125::o;14135:228::-;14175:7;14301:1;14233:66;14229:74;14226:1;14223:81;14218:1;14211:9;14204:17;14200:105;14197:131;;;14308:18;;:::i;:::-;-1:-1:-1;14348:9:1;;14135:228::o;14764:184::-;14816:77;14813:1;14806:88;14913:4;14910:1;14903:15;14937:4;14934:1;14927:15;14953:120;14993:1;15019;15009:35;;15024:18;;:::i;:::-;-1:-1:-1;15058:9:1;;14953:120::o;15078:128::-;15118:3;15149:1;15145:6;15142:1;15139:13;15136:39;;;15155:18;;:::i;:::-;-1:-1:-1;15191:9:1;;15078:128::o;15211:242::-;15251:4;15280:30;15360:10;;;;15330;;15382:12;;;15379:38;;;15397:18;;:::i;:::-;15434:13;;15211:242;-1:-1:-1;;;15211:242:1:o;16005:112::-;16037:1;16063;16053:35;;16068:18;;:::i;:::-;-1:-1:-1;16102:9:1;;16005:112::o;16122:184::-;16174:77;16171:1;16164:88;16271:4;16268:1;16261:15;16295:4;16292:1;16285:15;16311:251;16381:6;16434:2;16422:9;16413:7;16409:23;16405:32;16402:52;;;16450:1;16447;16440:12;16402:52;16482:9;16476:16;16501:31;16526:5;16501:31;:::i;16567:249::-;16607:3;16635:30;16692:2;16689:1;16685:10;16722:2;16719:1;16715:10;16753:3;16749:2;16745:12;16740:3;16737:21;16734:47;;;16761:18;;:::i;:::-;16797:13;;16567:249;-1:-1:-1;;;;16567:249:1:o;17155:184::-;17207:77;17204:1;17197:88;17304:4;17301:1;17294:15;17328:4;17325:1;17318:15;17344:195;17383:3;17414:66;17407:5;17404:77;17401:103;;17484:18;;:::i;:::-;-1:-1:-1;17531:1:1;17520:13;;17344:195::o;17544:277::-;17611:6;17664:2;17652:9;17643:7;17639:23;17635:32;17632:52;;;17680:1;17677;17670:12;17632:52;17712:9;17706:16;17765:5;17758:13;17751:21;17744:5;17741:32;17731:60;;17787:1;17784;17777:12;19297:283;19337:7;19369:30;19426:2;19423:1;19419:10;19456:2;19453:1;19449:10;19512:3;19508:2;19504:12;19499:3;19496:21;19489:3;19482:11;19475:19;19471:47;19468:73;;;19521:18;;:::i;:::-;19561:13;;19297:283;-1:-1:-1;;;;19297:283:1:o;19887:274::-;20016:3;20054:6;20048:13;20070:53;20116:6;20111:3;20104:4;20096:6;20092:17;20070:53;:::i;:::-;20139:16;;;;;19887:274;-1:-1:-1;;19887:274:1:o;21464:311::-;21504:7;21536:58;21621:2;21618:1;21614:10;21651:2;21648:1;21644:10;21707:3;21703:2;21699:12;21694:3;21691:21;21684:3;21677:11;21670:19;21666:47;21663:73;;;21716:18;;:::i;21780:240::-;21820:1;21846:58;21931:2;21928:1;21924:10;21953:3;21943:37;;21960:18;;:::i;:::-;21998:10;;21994:20;;;;;21780:240;-1:-1:-1;;21780:240:1:o
Swarm Source
ipfs://ff0f1e271603a9d47de68d4f1859e01970ca59682c13062be4eb53695c552a14
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.