BNB Price: $601.89 (+1.25%)
 

Overview

Max Total Supply

100,000,000,000,000,000Floki

Holders

42,025 ( -0.002%)

Transfers

-
0

Market

Price

$0.00 @ 0.000000 BNB (+0.34%)

Onchain Market Cap

$250,600.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

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

OVERVIEW

Baby Moon Floki is a hyper-deflationary token that has a smart exchange system built into the ecosystem. Baby Moon Floki automatically sends rewards directly to user's wallet by simply holding it.

Market

Volume (24H):$7.18
Market Capitalization:$0.00
Circulating Supply:0.00 Floki
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information
BEP-8056 UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
Source Code Verified Exact Match

Contract Name

BabyMoonFloki

Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion, Audited
License
Unlicense
Contract Source Code (Solidity)Audit Report
Contract Security Audit
Contract Security Audit Submitted
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"AutoBuyBackEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"BuyBackEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"RewardLiquidityProviders","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"GetBuyBackTimeInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GetSwapMinutes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDivisor","type":"uint256"}],"name":"SetBuyBackDivisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinutes","type":"uint256"}],"name":"SetBuyBackMaxTimeForHistories","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPercent","type":"uint256"}],"name":"SetBuyBackRangeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinutes","type":"uint256"}],"name":"SetBuyBackTimeInterval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinutes","type":"uint256"}],"name":"SetSwapMinutes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Sweep","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_addressFees","outputs":[{"internalType":"bool","name":"enable","type":"bool"},{"internalType":"uint256","name":"_taxFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buyTaxFee","type":"uint256"},{"internalType":"uint256","name":"_buyLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellTaxFee","type":"uint256"},{"internalType":"uint256","name":"_sellLiquidityFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBackDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBackMaxTimeForHistories","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBackRangeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyBackTimeInterval","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_intervalMinutesForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isAutoBuyBack","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isEnabledBuyBackAndBurn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_sellHistories","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"bnbAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startTimeForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"afterPreSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackSellLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"_pair","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prepareForPreSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint256","name":"_addressTaxFee","type":"uint256"},{"internalType":"uint256","name":"_addressLiquidityFee","type":"uint256"}],"name":"setAddressFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setAutoBuyBackEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint256","name":"_addressTaxFee","type":"uint256"},{"internalType":"uint256","name":"_addressLiquidityFee","type":"uint256"}],"name":"setBuyAddressFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setBuyBackEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyBackSellSetLimit","type":"uint256"}],"name":"setBuyBackSellLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyTaxFee","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"divisor","type":"uint256"}],"name":"setMarketingDivisor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumTokensBeforeSwap","type":"uint256"}],"name":"setNumTokensSellToAddToBuyBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enable","type":"bool"},{"internalType":"uint256","name":"_addressTaxFee","type":"uint256"},{"internalType":"uint256","name":"_addressLiquidityFee","type":"uint256"}],"name":"setSellAddressFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sellTaxFee","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
60a0604052600380546001600160a01b03191673454bdc470d7e4fe411142a7c2d0f8e640ba769911790556ddead0000000000000000000000006080526a52b7d2dcc80cd2e4000000600a8190556200005b906000196200058d565b62000069906000196200052c565b600b5560408051808201909152600f8082526e42616279204d6f6f6e20466c6f6b6960881b6020909201918252620000a491600d9162000456565b5060408051808201909152600580825264466c6f6b6960d81b6020909201918252620000d391600e9162000456565b50600f8054600960ff1991821617909155600260108190556011819055600a6012819055601381905560149190915560158190556007601655600b601755603c6019556050601a556004601c55697f0e10af47c1c7000000601d55690878678326eac9000000601e556509184e72a000601f556021805490921660011790915560225561012c602355620151806024556026805462ffffff60a81b191661010160b01b1790553480156200018657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b543360009081526004602081815260409283902093909355815163c45a015560e01b815291517310ed43c718714eb63d5aa57b78b54704e256024e93849363c45a0155938181019391829003018186803b1580156200022857600080fd5b505afa1580156200023d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002639190620004fc565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ac57600080fd5b505afa158015620002c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e79190620004fc565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200033057600080fd5b505af115801562000345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036b9190620004fc565b602680546001600160a01b03199081166001600160a01b039384161790915560258054909116918316919091179055600160076000620003b36000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600790925290208054909116600117905542601855620003ff3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040516200044791815260200190565b60405180910390a350620005ae565b828054620004649062000550565b90600052602060002090601f016020900481019282620004885760008555620004d3565b82601f10620004a357805160ff1916838001178555620004d3565b82800160010185558215620004d3579182015b82811115620004d3578251825591602001919060010190620004b6565b50620004e1929150620004e5565b5090565b5b80821115620004e15760008155600101620004e6565b6000602082840312156200050e578081fd5b81516001600160a01b038116811462000525578182fd5b9392505050565b6000828210156200054b57634e487b7160e01b81526011600452602481fd5b500390565b600181811c908216806200056557607f821691505b602082108114156200058757634e487b7160e01b600052602260045260246000fd5b50919050565b600082620005a957634e487b7160e01b81526012600452602481fd5b500690565b60805160601c614426620005d4600039600081816106640152613a5601526144266000f3fe60806040526004361061048d5760003560e01c80637088fb7f11610255578063a9059cbb11610144578063dc44b6a0116100c1578063ea2f0b3711610085578063ea2f0b3714610e2b578063ec28438a14610e4b578063efcc52de14610e6b578063f2fde38b14610e81578063faccd1d714610ea1578063fb0ecfa414610eb757600080fd5b8063dc44b6a014610d6f578063dd46706414610d85578063dd62ed3e14610da5578063e3df003414610deb578063e79b032214610e0b57600080fd5b8063baf9035011610108578063baf9035014610cd8578063c49b9a8014610cf8578063c4a9baed14610d18578063d5a3eb5014610d38578063d6b513cf14610d5957600080fd5b8063a9059cbb14610c38578063ac7a2c9814610c58578063afabc8c614610c78578063b0cb81f114610c98578063b14869fb14610cb857600080fd5b806388f82020116101d25780639f39e4c1116101965780639f39e4c114610bb9578063a073d37f14610bce578063a457c2d714610be3578063a5ece94114610c03578063a69df4b514610c2357600080fd5b806388f8202014610b0d5780638da5cb5b14610b465780638ee88c5314610b64578063906e9dd014610b8457806395d89b4114610ba457600080fd5b80637d001732116102195780637d00173214610a185780637d1db4a514610aab57806380c1244514610ac15780638366e79a14610ad757806388790a6814610af757600080fd5b80637088fb7f146109a35780637090d9ae146109b857806370a08231146109ce578063715018a6146109ee5780637b5a931a14610a0357600080fd5b8063395093511161037c5780635342acb4116102f9578063602bc62b116102bd578063602bc62b1461090b5780636053a0e31461092057806365be043814610941578063690c22ca146109575780636ac9a8701461096d5780636bc87c3a1461098d57600080fd5b80635342acb414610869578063535acb7f146108a2578063557ed1ba146108c25780635881f3ef146108d55780635fa9ce3a146108f557600080fd5b80634906b560116103405780634906b560146107d357806349bd5a5e146107f35780634a74bb02146108135780635134f6ab1461083457806352390c021461084957600080fd5b8063395093511461073d5780633b124fe71461075d5780633bd5d17314610773578063437823ec146107935780634549b039146107b357600080fd5b80631908226e1161040a57806329370cc6116103ce57806329370cc6146106865780632d838119146106a65780632deb50fb146106c6578063313ce567146106fb5780633685d4191461071d57600080fd5b80631908226e146105e6578063200a692d146105fc578063239a093a1461061257806323b872dd1461063257806327c8f8351461065257600080fd5b80630f9b10e9116104515780630f9b10e91461054b57806313114a9d14610565578063137ae83e146105845780631694505e1461059957806318160ddd146105d157600080fd5b8063053bfcd114610499578063061c82d0146104bb57806306fdde03146104db57806307efbfdc14610506578063095ea7b31461051b57600080fd5b3661049457005b600080fd5b3480156104a557600080fd5b506104b96104b4366004614085565b610ed7565b005b3480156104c757600080fd5b506104b96104d6366004614085565b610f1b565b3480156104e757600080fd5b506104f0610f4a565b6040516104fd9190614172565b60405180910390f35b34801561051257600080fd5b506104b9610fdc565b34801561052757600080fd5b5061053b610536366004613f62565b611029565b60405190151581526020016104fd565b34801561055757600080fd5b5060215461053b9060ff1681565b34801561057157600080fd5b50600c545b6040519081526020016104fd565b34801561059057600080fd5b50610576611040565b3480156105a557600080fd5b506025546105b9906001600160a01b031681565b6040516001600160a01b0390911681526020016104fd565b3480156105dd57600080fd5b50600a54610576565b3480156105f257600080fd5b50610576601f5481565b34801561060857600080fd5b5061057660165481565b34801561061e57600080fd5b506104b961062d366004614085565b611056565b34801561063e57600080fd5b5061053b61064d366004613edd565b6110e5565b34801561065e57600080fd5b506105b97f000000000000000000000000000000000000000000000000000000000000000081565b34801561069257600080fd5b506104b96106a136600461404d565b61114e565b3480156106b257600080fd5b506105766106c1366004614085565b6111d0565b3480156106d257600080fd5b506106e66106e1366004614085565b611254565b604080519283526020830191909152016104fd565b34801561070757600080fd5b50600f5460405160ff90911681526020016104fd565b34801561072957600080fd5b506104b9610738366004613e6d565b611282565b34801561074957600080fd5b5061053b610758366004613f62565b611471565b34801561076957600080fd5b5061057660105481565b34801561077f57600080fd5b506104b961078e366004614085565b6114a7565b34801561079f57600080fd5b506104b96107ae366004613e6d565b611591565b3480156107bf57600080fd5b506105766107ce3660046140b5565b6115df565b3480156107df57600080fd5b506104b96107ee366004613f1d565b61166c565b3480156107ff57600080fd5b506026546105b9906001600160a01b031681565b34801561081f57600080fd5b5060265461053b90600160a81b900460ff1681565b34801561084057600080fd5b506104b96116ca565b34801561085557600080fd5b506104b9610864366004613e6d565b611718565b34801561087557600080fd5b5061053b610884366004613e6d565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156108ae57600080fd5b506104b96108bd366004614085565b61186b565b3480156108ce57600080fd5b5042610576565b3480156108e157600080fd5b506105b96108f0366004613e6d565b61189a565b34801561090157600080fd5b5061057660195481565b34801561091757600080fd5b50600254610576565b34801561092c57600080fd5b5060265461053b90600160b01b900460ff1681565b34801561094d57600080fd5b50610576601a5481565b34801561096357600080fd5b5061057660185481565b34801561097957600080fd5b506104b96109883660046140d9565b611bf1565b34801561099957600080fd5b5061057660125481565b3480156109af57600080fd5b506104b9611c26565b3480156109c457600080fd5b5061057660245481565b3480156109da57600080fd5b506105766109e9366004613e6d565b611c9b565b3480156109fa57600080fd5b506104b9611cfa565b348015610a0f57600080fd5b50601f54610576565b348015610a2457600080fd5b50610a74610a33366004613e6d565b601b60205260009081526040902080546001820154600283015460038401546004850154600586015460069096015460ff9095169593949293919290919087565b6040805197151588526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016104fd565b348015610ab757600080fd5b50610576601d5481565b348015610acd57600080fd5b5061057660235481565b348015610ae357600080fd5b5061053b610af2366004613ea5565b611d5c565b348015610b0357600080fd5b5061057660175481565b348015610b1957600080fd5b5061053b610b28366004613e6d565b6001600160a01b031660009081526008602052604090205460ff1690565b348015610b5257600080fd5b506000546001600160a01b03166105b9565b348015610b7057600080fd5b506104b9610b7f366004614085565b611ef4565b348015610b9057600080fd5b506104b9610b9f366004613e6d565b611f23565b348015610bb057600080fd5b506104f0611f6f565b348015610bc557600080fd5b50610576611f7e565b348015610bda57600080fd5b50601e54610576565b348015610bef57600080fd5b5061053b610bfe366004613f62565b611f8f565b348015610c0f57600080fd5b506003546105b9906001600160a01b031681565b348015610c2f57600080fd5b506104b9611fde565b348015610c4457600080fd5b5061053b610c53366004613f62565b6120e4565b348015610c6457600080fd5b506104b9610c73366004614085565b6120f1565b348015610c8457600080fd5b506104b9610c93366004613f1d565b61212c565b348015610ca457600080fd5b506104b9610cb3366004614085565b61218a565b348015610cc457600080fd5b506104b9610cd3366004614085565b6121b9565b348015610ce457600080fd5b506104b9610cf3366004614085565b6121e8565b348015610d0457600080fd5b506104b9610d1336600461404d565b612223565b348015610d2457600080fd5b506104b9610d33366004613f1d565b61229a565b348015610d4457600080fd5b5060265461053b90600160b81b900460ff1681565b348015610d6557600080fd5b50610576601c5481565b348015610d7b57600080fd5b5061057660155481565b348015610d9157600080fd5b506104b9610da0366004614085565b6122f8565b348015610db157600080fd5b50610576610dc0366004613ea5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610df757600080fd5b506104b9610e0636600461404d565b61237d565b348015610e1757600080fd5b506104b9610e26366004614085565b6123e8565b348015610e3757600080fd5b506104b9610e46366004613e6d565b612417565b348015610e5757600080fd5b506104b9610e66366004614085565b612462565b348015610e7757600080fd5b5061057660145481565b348015610e8d57600080fd5b506104b9610e9c366004613e6d565b612491565b348015610ead57600080fd5b5061057660225481565b348015610ec357600080fd5b506104b9610ed23660046140d9565b612569565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b8152600401610f01906141c5565b60405180910390fd5b610f1581603c61427b565b60245550565b6000546001600160a01b03163314610f455760405162461bcd60e51b8152600401610f01906141c5565b601055565b6060600d8054610f59906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610f85906142b1565b8015610fd25780601f10610fa757610100808354040283529160200191610fd2565b820191906000526020600020905b815481529060010190602001808311610fb557829003601f168201915b5050505050905090565b6000546001600160a01b031633146110065760405162461bcd60e51b8152600401610f01906141c5565b6110106001612223565b6002601055600a60125568a2a15d09519be00000601d55565b600061103633848461259e565b5060015b92915050565b60195460009061105190603c6126c2565b905090565b6000546001600160a01b031633146110805760405162461bcd60e51b8152600401610f01906141c5565b60648111156110e05760405162461bcd60e51b815260206004820152602660248201527f5468652076616c7565206d757374206e6f74206265206c61726765722074686160448201526537101898181760d11b6064820152608401610f01565b601a55565b60006110f2848484612704565b611144843361113f85604051806060016040528060288152602001614384602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190612d81565b61259e565b5060019392505050565b6000546001600160a01b031633146111785760405162461bcd60e51b8152600401610f01906141c5565b60268054821515600160b01b0260ff60b01b199091161790556040517f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c0906111c590831515815260200190565b60405180910390a150565b6000600b548211156112375760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610f01565b6000611241612dbb565b905061124d83826126c2565b9392505050565b6020818154811061126457600080fd5b60009182526020909120600290910201805460019091015490915082565b6000546001600160a01b031633146112ac5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03811660009081526008602052604090205460ff166113145760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610f01565b60005b60095481101561146d57816001600160a01b03166009828154811061134c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561145b57600980546113779060019061429a565b8154811061139557634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600980546001600160a01b0390921691839081106113cf57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600890925220805460ff19169055600980548061143557634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80611465816142ec565b915050611317565b5050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161103691859061113f9086612dde565b3360008181526008602052604090205460ff161561151c5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610f01565b600061152783612e3d565b505050506001600160a01b03841660009081526004602052604090205491925061155391905082612e8c565b6001600160a01b038316600090815260046020526040902055600b546115799082612e8c565b600b55600c546115899084612dde565b600c55505050565b6000546001600160a01b031633146115bb5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000600a548311156116335760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610f01565b8161165257600061164384612e3d565b5093955061103a945050505050565b600061165d84612e3d565b5092955061103a945050505050565b6000546001600160a01b031633146116965760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600582015560060155565b6000546001600160a01b031633146116f45760405162461bcd60e51b8152600401610f01906141c5565b6116fe6000612223565b6000601081905560125569d3c21bcecceda1000000601d55565b6000546001600160a01b031633146117425760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03811660009081526008602052604090205460ff16156117ab5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f01565b6001600160a01b03811660009081526004602052604090205415611805576001600160a01b0381166000908152600460205260409020546117eb906111d0565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6000546001600160a01b031633146118955760405162461bcd60e51b8152600401610f01906141c5565b601f55565b600080546001600160a01b031633146118c55760405162461bcd60e51b8152600401610f01906141c5565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561190357600080fd5b505afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613e89565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561198357600080fd5b505afa158015611997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bb9190613e89565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a399190613e89565b91506001600160a01b038216611bbd57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611a8257600080fd5b505afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba9190613e89565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3a9190613e89565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015611b8257600080fd5b505af1158015611b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bba9190613e89565b91505b602680546001600160a01b038085166001600160a01b03199283161790925560258054939092169216919091179055919050565b6000546001600160a01b03163314611c1b5760405162461bcd60e51b8152600401610f01906141c5565b601691909155601755565b6000546001600160a01b03163314611c505760405162461bcd60e51b8152600401610f01906141c5565b47611c636000546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015801561146d573d6000803e3d6000fd5b6001600160a01b03811660009081526008602052604081205460ff1615611cd857506001600160a01b031660009081526005602052604090205490565b6001600160a01b03821660009081526004602052604090205461103a906111d0565b6000546001600160a01b03163314611d245760405162461bcd60e51b8152600401610f01906141c5565b600080546040516001600160a01b03909116906000805160206143ac833981519152908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314611d875760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b038316301415611dec5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b6064820152608401610f01565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015611e2e57600080fd5b505afa158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e66919061409d565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b158015611eb457600080fd5b505af1158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190614069565b949350505050565b6000546001600160a01b03163314611f1e5760405162461bcd60e51b8152600401610f01906141c5565b601255565b6000546001600160a01b03163314611f4d5760405162461bcd60e51b8152600401610f01906141c5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6060600e8054610f59906142b1565b60235460009061105190603c6126c2565b6000611036338461113f856040518060600160405280602581526020016143cc602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190612d81565b6001546001600160a01b031633146120445760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610f01565b60025442116120955760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610f01565b600154600080546040516001600160a01b0393841693909116916000805160206143ac83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000611036338484612704565b6000546001600160a01b0316331461211b5760405162461bcd60e51b8152600401610f01906141c5565b61212681603c61427b565b60235550565b6000546001600160a01b031633146121565760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600382015560040155565b6000546001600160a01b031633146121b45760405162461bcd60e51b8152600401610f01906141c5565b601c55565b6000546001600160a01b031633146121e35760405162461bcd60e51b8152600401610f01906141c5565b601e55565b6000546001600160a01b031633146122125760405162461bcd60e51b8152600401610f01906141c5565b61221d81603c61427b565b60195550565b6000546001600160a01b0316331461224d5760405162461bcd60e51b8152600401610f01906141c5565b60268054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111c590831515815260200190565b6000546001600160a01b031633146122c45760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600182015560020155565b6000546001600160a01b031633146123225760405162461bcd60e51b8152600401610f01906141c5565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055612351814261424f565b600255600080546040516001600160a01b03909116906000805160206143ac833981519152908390a350565b6000546001600160a01b031633146123a75760405162461bcd60e51b8152600401610f01906141c5565b6021805460ff19168215159081179091556040519081527fa53c6be1202d17d11e250c717d12c9ab9ccb8f62ee9f34c8b8e2173e3d9c2c03906020016111c5565b6000546001600160a01b031633146124125760405162461bcd60e51b8152600401610f01906141c5565b602255565b6000546001600160a01b031633146124415760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b0316331461248c5760405162461bcd60e51b8152600401610f01906141c5565b601d55565b6000546001600160a01b031633146124bb5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b0381166125205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f01565b600080546040516001600160a01b03808516939216916000805160206143ac83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146125935760405162461bcd60e51b8152600401610f01906141c5565b601491909155601555565b6001600160a01b0383166126005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f01565b6001600160a01b0382166126615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f01565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061124d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ece565b6001600160a01b0383166127685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f01565b6001600160a01b0382166127ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f01565b6000811161282c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610f01565b6000546001600160a01b0384811691161480159061285857506000546001600160a01b03838116911614155b156128c057601d548111156128c05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610f01565b60006128cb30611c9b565b601e54602654919250821015906001600160a01b0385811691161480156129075750602654600090612905906001600160a01b0316611c9b565b115b1561299257604080518082019091526000602082015242815261292984612efc565b6020828101918252805460018101825560009190915291517fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb600290930292830155517fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bc909101555b602654600160a01b900460ff161580156129b55750602654600160a81b900460ff165b80156129d657506026546000906129d4906001600160a01b0316611c9b565b115b15612bd5576026546001600160a01b0385811691161415612bd557808015612a0d575042601954601854612a0a919061424f565b11155b15612a245742601855601e549150612a24826130bc565b602654600160b01b900460ff1615612bd557601f5460215447919060ff1615612b465760008060235442612a58919061429a565b90506000805b602054811015612b08578260208281548110612a8a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000015410612af657612ae660208281548110612ac557634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016001015485612dde90919063ffffffff16565b9350612af382600161424f565b91505b80612b00816142ec565b915050612a5e565b50600081118015612b1b57506000602254115b15612b3a57602254612b3790612b3185846126c2565b906126c2565b93505b612b42613127565b5050505b6000612b626064612b31601a54856132e890919063ffffffff16565b90506000612b70828461429a565b612b7b90600161424f565b6040805142602082015244918101919091526060016040516020818303038152906040528051906020012060001c612bb39190614307565b612bbd908361424f565b905080841115612bd057612bd081613367565b505050505b6001600160a01b03851660009081526007602052604090205460019060ff1680612c1757506001600160a01b03851660009081526007602052604090205460ff165b15612c2457506000612d6d565b6026546001600160a01b0387811691161415612c4f57612c42613399565b6014546010556015546012555b6026546001600160a01b0386811691161415612c7a57612c6d613399565b6016546010556017546012555b6001600160a01b0386166000908152601b602052604090205460ff1615612d0657612ca3613399565b6001600160a01b038087166000908152601b6020526040902060018101546010556002015460125560265486821691161415612d01576001600160a01b0386166000908152601b602052604090206005810154601055600601546012555b612d6d565b6001600160a01b0385166000908152601b602052604090205460ff1615612d6d57612d2f613399565b6026546001600160a01b0387811691161415612d6d576001600160a01b0385166000908152601b602052604090206003810154601055600401546012555b612d79868686846133c7565b505050505050565b60008184841115612da55760405162461bcd60e51b8152600401610f019190614172565b506000612db2848661429a565b95945050505050565b6000806000612dc86134ec565b9092509050612dd782826126c2565b9250505090565b600080612deb838561424f565b90508381101561124d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610f01565b6000806000806000806000806000612e548a6136a6565b9250925092506000806000612e728d8686612e6d612dbb565b6136e8565b919f909e50909c50959a5093985091965092945050505050565b600061124d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d81565b60008183612eef5760405162461bcd60e51b8152600401610f019190614172565b506000612db28486614267565b604080516002808252606082018352600092839291906020830190803683370190505090503081600081518110612f4357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612f9757600080fd5b505afa158015612fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcf9190613e89565b81600181518110612ff057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260255460405163d06ca61f60e01b8152600092919091169063d06ca61f9061303490879086906004016141fa565b60006040518083038186803b15801561304c57600080fd5b505afa158015613060573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130889190810190613f8d565b9050806001815181106130ab57634e487b7160e01b600052603260045260246000fd5b602002602001015192505050919050565b6026805460ff60a01b1916600160a01b179055476130d982613738565b60006130e54783612e8c565b600354601c54919250613115916001600160a01b039091169061311090606490612b319086906132e8565b6138f6565b50506026805460ff60a01b1916905550565b60008060245442613138919061429a565b905060005b60205481101561327457816020828154811061316957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001541061326257602081815481106131a157634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160000154602084815481106131d457634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001819055506020818154811061320a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600101546020848154811061323d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016001018190555082600161325f919061424f565b92505b8061326c816142ec565b91505061313d565b5060205460009061328690849061429a565b905060005b818110156132e25760208054806132b257634e487b7160e01b600052603160045260246000fd5b600082815260208120600260001990930192830201818155600101559055806132da816142ec565b91505061328b565b50505050565b6000826132f75750600061103a565b6000613303838561427b565b9050826133108583614267565b1461124d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610f01565b6026805460ff60a01b1916600160a01b17905580156133895761338981613931565b506026805460ff60a01b19169055565b6010541580156133a95750601254155b156133b057565b601080546011556012805460135560009182905555565b806133d4576133d4613399565b6001600160a01b03841660009081526008602052604090205460ff16801561341557506001600160a01b03831660009081526008602052604090205460ff16155b1561342a57613425848484613b03565b6134d6565b6001600160a01b03841660009081526008602052604090205460ff1615801561346b57506001600160a01b03831660009081526008602052604090205460ff165b1561347b57613425848484613c29565b6001600160a01b03841660009081526008602052604090205460ff1680156134bb57506001600160a01b03831660009081526008602052604090205460ff165b156134cb57613425848484613cd2565b6134d6848484613d45565b806132e2576132e2601154601055601354601255565b600b54600a546000918291825b6009548110156136765782600460006009848154811061352957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806135a2575081600560006009848154811061357b57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156135b857600b54600a54945094505050509091565b61360c60046000600984815481106135e057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612e8c565b9250613662600560006009848154811061363657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612e8c565b91508061366e816142ec565b9150506134f9565b50600a54600b54613686916126c2565b82101561369d57600b54600a549350935050509091565b90939092509050565b6000806000806136b585613d89565b905060006136c286613da5565b905060006136da826136d48986612e8c565b90612e8c565b979296509094509092505050565b60008080806136f788866132e8565b9050600061370588876132e8565b9050600061371388886132e8565b90506000613725826136d48686612e8c565b939b939a50919850919650505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061377b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156137cf57600080fd5b505afa1580156137e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138079190613e89565b8160018151811061382857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260255461384e913091168461259e565b60255460405163791ac94760e01b81526001600160a01b039091169063791ac94790613887908590600090869030904290600401614213565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516138ea9291906141fa565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561392c573d6000803e3d6000fd5b505050565b6040805160028082526060820183526000926020830190803683375050602554604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561399657600080fd5b505afa1580156139aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ce9190613e89565b816000815181106139ef57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110613a3157634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526025541663b6f9de95836000847f0000000000000000000000000000000000000000000000000000000000000000613a814261012c612dde565b6040518663ffffffff1660e01b8152600401613aa0949392919061413d565b6000604051808303818588803b158015613ab957600080fd5b505af1158015613acd573d6000803e3d6000fd5b50505050507f6fd378a9d8b7345c2e5b18229aaf1e39d32b177b501d0a0d26a0a858a23a962482826040516138ea9291906141fa565b600080600080600080613b1587612e3d565b6001600160a01b038f16600090815260056020526040902054959b50939950919750955093509150613b479088612e8c565b6001600160a01b038a16600090815260056020908152604080832093909355600490522054613b769087612e8c565b6001600160a01b03808b1660009081526004602052604080822093909355908a1681522054613ba59086612dde565b6001600160a01b038916600090815260046020526040902055613bc781613dc1565b613bd18483613e49565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613c1691815260200190565b60405180910390a3505050505050505050565b600080600080600080613c3b87612e3d565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150613c6d9087612e8c565b6001600160a01b03808b16600090815260046020908152604080832094909455918b16815260059091522054613ca39084612dde565b6001600160a01b038916600090815260056020908152604080832093909355600490522054613ba59086612dde565b600080600080600080613ce487612e3d565b6001600160a01b038f16600090815260056020526040902054959b50939950919750955093509150613d169088612e8c565b6001600160a01b038a16600090815260056020908152604080832093909355600490522054613c6d9087612e8c565b600080600080600080613d5787612e3d565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150613b769087612e8c565b600061103a6064612b31601054856132e890919063ffffffff16565b600061103a6064612b31601254856132e890919063ffffffff16565b6000613dcb612dbb565b90506000613dd983836132e8565b30600090815260046020526040902054909150613df69082612dde565b3060009081526004602090815260408083209390935560089052205460ff161561392c5730600090815260056020526040902054613e349084612dde565b30600090815260056020526040902055505050565b600b54613e569083612e8c565b600b55600c54613e669082612dde565b600c555050565b600060208284031215613e7e578081fd5b813561124d8161435d565b600060208284031215613e9a578081fd5b815161124d8161435d565b60008060408385031215613eb7578081fd5b8235613ec28161435d565b91506020830135613ed28161435d565b809150509250929050565b600080600060608486031215613ef1578081fd5b8335613efc8161435d565b92506020840135613f0c8161435d565b929592945050506040919091013590565b60008060008060808587031215613f32578081fd5b8435613f3d8161435d565b93506020850135613f4d81614375565b93969395505050506040820135916060013590565b60008060408385031215613f74578182fd5b8235613f7f8161435d565b946020939093013593505050565b60006020808385031215613f9f578182fd5b825167ffffffffffffffff80821115613fb6578384fd5b818501915085601f830112613fc9578384fd5b815181811115613fdb57613fdb614347565b8060051b604051601f19603f8301168101818110858211171561400057614000614347565b604052828152858101935084860182860187018a101561401e578788fd5b8795505b83861015614040578051855260019590950194938601938601614022565b5098975050505050505050565b60006020828403121561405e578081fd5b813561124d81614375565b60006020828403121561407a578081fd5b815161124d81614375565b600060208284031215614096578081fd5b5035919050565b6000602082840312156140ae578081fd5b5051919050565b600080604083850312156140c7578182fd5b823591506020830135613ed281614375565b600080604083850312156140eb578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b838110156141325781516001600160a01b03168752958201959082019060010161410d565b509495945050505050565b84815260806020820152600061415660808301866140fa565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561419e57858101830151858201604001528201614182565b818111156141af5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611eec60408301846140fa565b85815284602082015260a06040820152600061423260a08301866140fa565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156142625761426261431b565b500190565b60008261427657614276614331565b500490565b60008160001904831182151516156142955761429561431b565b500290565b6000828210156142ac576142ac61431b565b500390565b600181811c908216806142c557607f821691505b602082108114156142e657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156143005761430061431b565b5060010190565b60008261431657614316614331565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461437257600080fd5b50565b801515811461437257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c8f528524fdfe65822ca0fdfce087fa8a954fc6dd79e995ddec044c58178e1664736f6c63430008040033
Deployed Bytecode
0x60806040526004361061048d5760003560e01c80637088fb7f11610255578063a9059cbb11610144578063dc44b6a0116100c1578063ea2f0b3711610085578063ea2f0b3714610e2b578063ec28438a14610e4b578063efcc52de14610e6b578063f2fde38b14610e81578063faccd1d714610ea1578063fb0ecfa414610eb757600080fd5b8063dc44b6a014610d6f578063dd46706414610d85578063dd62ed3e14610da5578063e3df003414610deb578063e79b032214610e0b57600080fd5b8063baf9035011610108578063baf9035014610cd8578063c49b9a8014610cf8578063c4a9baed14610d18578063d5a3eb5014610d38578063d6b513cf14610d5957600080fd5b8063a9059cbb14610c38578063ac7a2c9814610c58578063afabc8c614610c78578063b0cb81f114610c98578063b14869fb14610cb857600080fd5b806388f82020116101d25780639f39e4c1116101965780639f39e4c114610bb9578063a073d37f14610bce578063a457c2d714610be3578063a5ece94114610c03578063a69df4b514610c2357600080fd5b806388f8202014610b0d5780638da5cb5b14610b465780638ee88c5314610b64578063906e9dd014610b8457806395d89b4114610ba457600080fd5b80637d001732116102195780637d00173214610a185780637d1db4a514610aab57806380c1244514610ac15780638366e79a14610ad757806388790a6814610af757600080fd5b80637088fb7f146109a35780637090d9ae146109b857806370a08231146109ce578063715018a6146109ee5780637b5a931a14610a0357600080fd5b8063395093511161037c5780635342acb4116102f9578063602bc62b116102bd578063602bc62b1461090b5780636053a0e31461092057806365be043814610941578063690c22ca146109575780636ac9a8701461096d5780636bc87c3a1461098d57600080fd5b80635342acb414610869578063535acb7f146108a2578063557ed1ba146108c25780635881f3ef146108d55780635fa9ce3a146108f557600080fd5b80634906b560116103405780634906b560146107d357806349bd5a5e146107f35780634a74bb02146108135780635134f6ab1461083457806352390c021461084957600080fd5b8063395093511461073d5780633b124fe71461075d5780633bd5d17314610773578063437823ec146107935780634549b039146107b357600080fd5b80631908226e1161040a57806329370cc6116103ce57806329370cc6146106865780632d838119146106a65780632deb50fb146106c6578063313ce567146106fb5780633685d4191461071d57600080fd5b80631908226e146105e6578063200a692d146105fc578063239a093a1461061257806323b872dd1461063257806327c8f8351461065257600080fd5b80630f9b10e9116104515780630f9b10e91461054b57806313114a9d14610565578063137ae83e146105845780631694505e1461059957806318160ddd146105d157600080fd5b8063053bfcd114610499578063061c82d0146104bb57806306fdde03146104db57806307efbfdc14610506578063095ea7b31461051b57600080fd5b3661049457005b600080fd5b3480156104a557600080fd5b506104b96104b4366004614085565b610ed7565b005b3480156104c757600080fd5b506104b96104d6366004614085565b610f1b565b3480156104e757600080fd5b506104f0610f4a565b6040516104fd9190614172565b60405180910390f35b34801561051257600080fd5b506104b9610fdc565b34801561052757600080fd5b5061053b610536366004613f62565b611029565b60405190151581526020016104fd565b34801561055757600080fd5b5060215461053b9060ff1681565b34801561057157600080fd5b50600c545b6040519081526020016104fd565b34801561059057600080fd5b50610576611040565b3480156105a557600080fd5b506025546105b9906001600160a01b031681565b6040516001600160a01b0390911681526020016104fd565b3480156105dd57600080fd5b50600a54610576565b3480156105f257600080fd5b50610576601f5481565b34801561060857600080fd5b5061057660165481565b34801561061e57600080fd5b506104b961062d366004614085565b611056565b34801561063e57600080fd5b5061053b61064d366004613edd565b6110e5565b34801561065e57600080fd5b506105b97f000000000000000000000000000000000000000000000000000000000000dead81565b34801561069257600080fd5b506104b96106a136600461404d565b61114e565b3480156106b257600080fd5b506105766106c1366004614085565b6111d0565b3480156106d257600080fd5b506106e66106e1366004614085565b611254565b604080519283526020830191909152016104fd565b34801561070757600080fd5b50600f5460405160ff90911681526020016104fd565b34801561072957600080fd5b506104b9610738366004613e6d565b611282565b34801561074957600080fd5b5061053b610758366004613f62565b611471565b34801561076957600080fd5b5061057660105481565b34801561077f57600080fd5b506104b961078e366004614085565b6114a7565b34801561079f57600080fd5b506104b96107ae366004613e6d565b611591565b3480156107bf57600080fd5b506105766107ce3660046140b5565b6115df565b3480156107df57600080fd5b506104b96107ee366004613f1d565b61166c565b3480156107ff57600080fd5b506026546105b9906001600160a01b031681565b34801561081f57600080fd5b5060265461053b90600160a81b900460ff1681565b34801561084057600080fd5b506104b96116ca565b34801561085557600080fd5b506104b9610864366004613e6d565b611718565b34801561087557600080fd5b5061053b610884366004613e6d565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156108ae57600080fd5b506104b96108bd366004614085565b61186b565b3480156108ce57600080fd5b5042610576565b3480156108e157600080fd5b506105b96108f0366004613e6d565b61189a565b34801561090157600080fd5b5061057660195481565b34801561091757600080fd5b50600254610576565b34801561092c57600080fd5b5060265461053b90600160b01b900460ff1681565b34801561094d57600080fd5b50610576601a5481565b34801561096357600080fd5b5061057660185481565b34801561097957600080fd5b506104b96109883660046140d9565b611bf1565b34801561099957600080fd5b5061057660125481565b3480156109af57600080fd5b506104b9611c26565b3480156109c457600080fd5b5061057660245481565b3480156109da57600080fd5b506105766109e9366004613e6d565b611c9b565b3480156109fa57600080fd5b506104b9611cfa565b348015610a0f57600080fd5b50601f54610576565b348015610a2457600080fd5b50610a74610a33366004613e6d565b601b60205260009081526040902080546001820154600283015460038401546004850154600586015460069096015460ff9095169593949293919290919087565b6040805197151588526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016104fd565b348015610ab757600080fd5b50610576601d5481565b348015610acd57600080fd5b5061057660235481565b348015610ae357600080fd5b5061053b610af2366004613ea5565b611d5c565b348015610b0357600080fd5b5061057660175481565b348015610b1957600080fd5b5061053b610b28366004613e6d565b6001600160a01b031660009081526008602052604090205460ff1690565b348015610b5257600080fd5b506000546001600160a01b03166105b9565b348015610b7057600080fd5b506104b9610b7f366004614085565b611ef4565b348015610b9057600080fd5b506104b9610b9f366004613e6d565b611f23565b348015610bb057600080fd5b506104f0611f6f565b348015610bc557600080fd5b50610576611f7e565b348015610bda57600080fd5b50601e54610576565b348015610bef57600080fd5b5061053b610bfe366004613f62565b611f8f565b348015610c0f57600080fd5b506003546105b9906001600160a01b031681565b348015610c2f57600080fd5b506104b9611fde565b348015610c4457600080fd5b5061053b610c53366004613f62565b6120e4565b348015610c6457600080fd5b506104b9610c73366004614085565b6120f1565b348015610c8457600080fd5b506104b9610c93366004613f1d565b61212c565b348015610ca457600080fd5b506104b9610cb3366004614085565b61218a565b348015610cc457600080fd5b506104b9610cd3366004614085565b6121b9565b348015610ce457600080fd5b506104b9610cf3366004614085565b6121e8565b348015610d0457600080fd5b506104b9610d1336600461404d565b612223565b348015610d2457600080fd5b506104b9610d33366004613f1d565b61229a565b348015610d4457600080fd5b5060265461053b90600160b81b900460ff1681565b348015610d6557600080fd5b50610576601c5481565b348015610d7b57600080fd5b5061057660155481565b348015610d9157600080fd5b506104b9610da0366004614085565b6122f8565b348015610db157600080fd5b50610576610dc0366004613ea5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b348015610df757600080fd5b506104b9610e0636600461404d565b61237d565b348015610e1757600080fd5b506104b9610e26366004614085565b6123e8565b348015610e3757600080fd5b506104b9610e46366004613e6d565b612417565b348015610e5757600080fd5b506104b9610e66366004614085565b612462565b348015610e7757600080fd5b5061057660145481565b348015610e8d57600080fd5b506104b9610e9c366004613e6d565b612491565b348015610ead57600080fd5b5061057660225481565b348015610ec357600080fd5b506104b9610ed23660046140d9565b612569565b6000546001600160a01b03163314610f0a5760405162461bcd60e51b8152600401610f01906141c5565b60405180910390fd5b610f1581603c61427b565b60245550565b6000546001600160a01b03163314610f455760405162461bcd60e51b8152600401610f01906141c5565b601055565b6060600d8054610f59906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610f85906142b1565b8015610fd25780601f10610fa757610100808354040283529160200191610fd2565b820191906000526020600020905b815481529060010190602001808311610fb557829003601f168201915b5050505050905090565b6000546001600160a01b031633146110065760405162461bcd60e51b8152600401610f01906141c5565b6110106001612223565b6002601055600a60125568a2a15d09519be00000601d55565b600061103633848461259e565b5060015b92915050565b60195460009061105190603c6126c2565b905090565b6000546001600160a01b031633146110805760405162461bcd60e51b8152600401610f01906141c5565b60648111156110e05760405162461bcd60e51b815260206004820152602660248201527f5468652076616c7565206d757374206e6f74206265206c61726765722074686160448201526537101898181760d11b6064820152608401610f01565b601a55565b60006110f2848484612704565b611144843361113f85604051806060016040528060288152602001614384602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190612d81565b61259e565b5060019392505050565b6000546001600160a01b031633146111785760405162461bcd60e51b8152600401610f01906141c5565b60268054821515600160b01b0260ff60b01b199091161790556040517f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c0906111c590831515815260200190565b60405180910390a150565b6000600b548211156112375760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610f01565b6000611241612dbb565b905061124d83826126c2565b9392505050565b6020818154811061126457600080fd5b60009182526020909120600290910201805460019091015490915082565b6000546001600160a01b031633146112ac5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03811660009081526008602052604090205460ff166113145760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610f01565b60005b60095481101561146d57816001600160a01b03166009828154811061134c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316141561145b57600980546113779060019061429a565b8154811061139557634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600980546001600160a01b0390921691839081106113cf57634e487b7160e01b600052603260045260246000fd5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600582526040808220829055600890925220805460ff19169055600980548061143557634e487b7160e01b600052603160045260246000fd5b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80611465816142ec565b915050611317565b5050565b3360008181526006602090815260408083206001600160a01b0387168452909152812054909161103691859061113f9086612dde565b3360008181526008602052604090205460ff161561151c5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610f01565b600061152783612e3d565b505050506001600160a01b03841660009081526004602052604090205491925061155391905082612e8c565b6001600160a01b038316600090815260046020526040902055600b546115799082612e8c565b600b55600c546115899084612dde565b600c55505050565b6000546001600160a01b031633146115bb5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000600a548311156116335760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610f01565b8161165257600061164384612e3d565b5093955061103a945050505050565b600061165d84612e3d565b5092955061103a945050505050565b6000546001600160a01b031633146116965760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600582015560060155565b6000546001600160a01b031633146116f45760405162461bcd60e51b8152600401610f01906141c5565b6116fe6000612223565b6000601081905560125569d3c21bcecceda1000000601d55565b6000546001600160a01b031633146117425760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03811660009081526008602052604090205460ff16156117ab5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f01565b6001600160a01b03811660009081526004602052604090205415611805576001600160a01b0381166000908152600460205260409020546117eb906111d0565b6001600160a01b0382166000908152600560205260409020555b6001600160a01b03166000818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319169091179055565b6000546001600160a01b031633146118955760405162461bcd60e51b8152600401610f01906141c5565b601f55565b600080546001600160a01b031633146118c55760405162461bcd60e51b8152600401610f01906141c5565b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561190357600080fd5b505afa158015611917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193b9190613e89565b6001600160a01b031663e6a4390530836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561198357600080fd5b505afa158015611997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119bb9190613e89565b6040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a399190613e89565b91506001600160a01b038216611bbd57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611a8257600080fd5b505afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba9190613e89565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b0257600080fd5b505afa158015611b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3a9190613e89565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015611b8257600080fd5b505af1158015611b96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bba9190613e89565b91505b602680546001600160a01b038085166001600160a01b03199283161790925560258054939092169216919091179055919050565b6000546001600160a01b03163314611c1b5760405162461bcd60e51b8152600401610f01906141c5565b601691909155601755565b6000546001600160a01b03163314611c505760405162461bcd60e51b8152600401610f01906141c5565b47611c636000546001600160a01b031690565b6001600160a01b03166108fc829081150290604051600060405180830381858888f1935050505015801561146d573d6000803e3d6000fd5b6001600160a01b03811660009081526008602052604081205460ff1615611cd857506001600160a01b031660009081526005602052604090205490565b6001600160a01b03821660009081526004602052604090205461103a906111d0565b6000546001600160a01b03163314611d245760405162461bcd60e51b8152600401610f01906141c5565b600080546040516001600160a01b03909116906000805160206143ac833981519152908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314611d875760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b038316301415611dec5760405162461bcd60e51b815260206004820152602360248201527f43616e2774206c657420796f752074616b6520616c6c206e617469766520746f60448201526235b2b760e91b6064820152608401610f01565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b158015611e2e57600080fd5b505afa158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e66919061409d565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b158015611eb457600080fd5b505af1158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190614069565b949350505050565b6000546001600160a01b03163314611f1e5760405162461bcd60e51b8152600401610f01906141c5565b601255565b6000546001600160a01b03163314611f4d5760405162461bcd60e51b8152600401610f01906141c5565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6060600e8054610f59906142b1565b60235460009061105190603c6126c2565b6000611036338461113f856040518060600160405280602581526020016143cc602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190612d81565b6001546001600160a01b031633146120445760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610f01565b60025442116120955760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610f01565b600154600080546040516001600160a01b0393841693909116916000805160206143ac83398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000611036338484612704565b6000546001600160a01b0316331461211b5760405162461bcd60e51b8152600401610f01906141c5565b61212681603c61427b565b60235550565b6000546001600160a01b031633146121565760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600382015560040155565b6000546001600160a01b031633146121b45760405162461bcd60e51b8152600401610f01906141c5565b601c55565b6000546001600160a01b031633146121e35760405162461bcd60e51b8152600401610f01906141c5565b601e55565b6000546001600160a01b031633146122125760405162461bcd60e51b8152600401610f01906141c5565b61221d81603c61427b565b60195550565b6000546001600160a01b0316331461224d5760405162461bcd60e51b8152600401610f01906141c5565b60268054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906111c590831515815260200190565b6000546001600160a01b031633146122c45760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03939093166000908152601b60205260409020805460ff1916921515929092178255600182015560020155565b6000546001600160a01b031633146123225760405162461bcd60e51b8152600401610f01906141c5565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055612351814261424f565b600255600080546040516001600160a01b03909116906000805160206143ac833981519152908390a350565b6000546001600160a01b031633146123a75760405162461bcd60e51b8152600401610f01906141c5565b6021805460ff19168215159081179091556040519081527fa53c6be1202d17d11e250c717d12c9ab9ccb8f62ee9f34c8b8e2173e3d9c2c03906020016111c5565b6000546001600160a01b031633146124125760405162461bcd60e51b8152600401610f01906141c5565b602255565b6000546001600160a01b031633146124415760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b0316331461248c5760405162461bcd60e51b8152600401610f01906141c5565b601d55565b6000546001600160a01b031633146124bb5760405162461bcd60e51b8152600401610f01906141c5565b6001600160a01b0381166125205760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f01565b600080546040516001600160a01b03808516939216916000805160206143ac83398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146125935760405162461bcd60e51b8152600401610f01906141c5565b601491909155601555565b6001600160a01b0383166126005760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f01565b6001600160a01b0382166126615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f01565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061124d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ece565b6001600160a01b0383166127685760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f01565b6001600160a01b0382166127ca5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f01565b6000811161282c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610f01565b6000546001600160a01b0384811691161480159061285857506000546001600160a01b03838116911614155b156128c057601d548111156128c05760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b6064820152608401610f01565b60006128cb30611c9b565b601e54602654919250821015906001600160a01b0385811691161480156129075750602654600090612905906001600160a01b0316611c9b565b115b1561299257604080518082019091526000602082015242815261292984612efc565b6020828101918252805460018101825560009190915291517fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb600290930292830155517fc97bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bc909101555b602654600160a01b900460ff161580156129b55750602654600160a81b900460ff165b80156129d657506026546000906129d4906001600160a01b0316611c9b565b115b15612bd5576026546001600160a01b0385811691161415612bd557808015612a0d575042601954601854612a0a919061424f565b11155b15612a245742601855601e549150612a24826130bc565b602654600160b01b900460ff1615612bd557601f5460215447919060ff1615612b465760008060235442612a58919061429a565b90506000805b602054811015612b08578260208281548110612a8a57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016000015410612af657612ae660208281548110612ac557634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016001015485612dde90919063ffffffff16565b9350612af382600161424f565b91505b80612b00816142ec565b915050612a5e565b50600081118015612b1b57506000602254115b15612b3a57602254612b3790612b3185846126c2565b906126c2565b93505b612b42613127565b5050505b6000612b626064612b31601a54856132e890919063ffffffff16565b90506000612b70828461429a565b612b7b90600161424f565b6040805142602082015244918101919091526060016040516020818303038152906040528051906020012060001c612bb39190614307565b612bbd908361424f565b905080841115612bd057612bd081613367565b505050505b6001600160a01b03851660009081526007602052604090205460019060ff1680612c1757506001600160a01b03851660009081526007602052604090205460ff165b15612c2457506000612d6d565b6026546001600160a01b0387811691161415612c4f57612c42613399565b6014546010556015546012555b6026546001600160a01b0386811691161415612c7a57612c6d613399565b6016546010556017546012555b6001600160a01b0386166000908152601b602052604090205460ff1615612d0657612ca3613399565b6001600160a01b038087166000908152601b6020526040902060018101546010556002015460125560265486821691161415612d01576001600160a01b0386166000908152601b602052604090206005810154601055600601546012555b612d6d565b6001600160a01b0385166000908152601b602052604090205460ff1615612d6d57612d2f613399565b6026546001600160a01b0387811691161415612d6d576001600160a01b0385166000908152601b602052604090206003810154601055600401546012555b612d79868686846133c7565b505050505050565b60008184841115612da55760405162461bcd60e51b8152600401610f019190614172565b506000612db2848661429a565b95945050505050565b6000806000612dc86134ec565b9092509050612dd782826126c2565b9250505090565b600080612deb838561424f565b90508381101561124d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610f01565b6000806000806000806000806000612e548a6136a6565b9250925092506000806000612e728d8686612e6d612dbb565b6136e8565b919f909e50909c50959a5093985091965092945050505050565b600061124d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d81565b60008183612eef5760405162461bcd60e51b8152600401610f019190614172565b506000612db28486614267565b604080516002808252606082018352600092839291906020830190803683370190505090503081600081518110612f4357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612f9757600080fd5b505afa158015612fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcf9190613e89565b81600181518110612ff057634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260255460405163d06ca61f60e01b8152600092919091169063d06ca61f9061303490879086906004016141fa565b60006040518083038186803b15801561304c57600080fd5b505afa158015613060573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526130889190810190613f8d565b9050806001815181106130ab57634e487b7160e01b600052603260045260246000fd5b602002602001015192505050919050565b6026805460ff60a01b1916600160a01b179055476130d982613738565b60006130e54783612e8c565b600354601c54919250613115916001600160a01b039091169061311090606490612b319086906132e8565b6138f6565b50506026805460ff60a01b1916905550565b60008060245442613138919061429a565b905060005b60205481101561327457816020828154811061316957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001541061326257602081815481106131a157634e487b7160e01b600052603260045260246000fd5b906000526020600020906002020160000154602084815481106131d457634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600001819055506020818154811061320a57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060020201600101546020848154811061323d57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600202016001018190555082600161325f919061424f565b92505b8061326c816142ec565b91505061313d565b5060205460009061328690849061429a565b905060005b818110156132e25760208054806132b257634e487b7160e01b600052603160045260246000fd5b600082815260208120600260001990930192830201818155600101559055806132da816142ec565b91505061328b565b50505050565b6000826132f75750600061103a565b6000613303838561427b565b9050826133108583614267565b1461124d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610f01565b6026805460ff60a01b1916600160a01b17905580156133895761338981613931565b506026805460ff60a01b19169055565b6010541580156133a95750601254155b156133b057565b601080546011556012805460135560009182905555565b806133d4576133d4613399565b6001600160a01b03841660009081526008602052604090205460ff16801561341557506001600160a01b03831660009081526008602052604090205460ff16155b1561342a57613425848484613b03565b6134d6565b6001600160a01b03841660009081526008602052604090205460ff1615801561346b57506001600160a01b03831660009081526008602052604090205460ff165b1561347b57613425848484613c29565b6001600160a01b03841660009081526008602052604090205460ff1680156134bb57506001600160a01b03831660009081526008602052604090205460ff165b156134cb57613425848484613cd2565b6134d6848484613d45565b806132e2576132e2601154601055601354601255565b600b54600a546000918291825b6009548110156136765782600460006009848154811061352957634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806135a2575081600560006009848154811061357b57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156135b857600b54600a54945094505050509091565b61360c60046000600984815481106135e057634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612e8c565b9250613662600560006009848154811061363657634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612e8c565b91508061366e816142ec565b9150506134f9565b50600a54600b54613686916126c2565b82101561369d57600b54600a549350935050509091565b90939092509050565b6000806000806136b585613d89565b905060006136c286613da5565b905060006136da826136d48986612e8c565b90612e8c565b979296509094509092505050565b60008080806136f788866132e8565b9050600061370588876132e8565b9050600061371388886132e8565b90506000613725826136d48686612e8c565b939b939a50919850919650505050505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061377b57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152602554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156137cf57600080fd5b505afa1580156137e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138079190613e89565b8160018151811061382857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260255461384e913091168461259e565b60255460405163791ac94760e01b81526001600160a01b039091169063791ac94790613887908590600090869030904290600401614213565b600060405180830381600087803b1580156138a157600080fd5b505af11580156138b5573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516138ea9291906141fa565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561392c573d6000803e3d6000fd5b505050565b6040805160028082526060820183526000926020830190803683375050602554604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c464892506004808301926020929190829003018186803b15801561399657600080fd5b505afa1580156139aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139ce9190613e89565b816000815181106139ef57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110613a3157634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526025541663b6f9de95836000847f000000000000000000000000000000000000000000000000000000000000dead613a814261012c612dde565b6040518663ffffffff1660e01b8152600401613aa0949392919061413d565b6000604051808303818588803b158015613ab957600080fd5b505af1158015613acd573d6000803e3d6000fd5b50505050507f6fd378a9d8b7345c2e5b18229aaf1e39d32b177b501d0a0d26a0a858a23a962482826040516138ea9291906141fa565b600080600080600080613b1587612e3d565b6001600160a01b038f16600090815260056020526040902054959b50939950919750955093509150613b479088612e8c565b6001600160a01b038a16600090815260056020908152604080832093909355600490522054613b769087612e8c565b6001600160a01b03808b1660009081526004602052604080822093909355908a1681522054613ba59086612dde565b6001600160a01b038916600090815260046020526040902055613bc781613dc1565b613bd18483613e49565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613c1691815260200190565b60405180910390a3505050505050505050565b600080600080600080613c3b87612e3d565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150613c6d9087612e8c565b6001600160a01b03808b16600090815260046020908152604080832094909455918b16815260059091522054613ca39084612dde565b6001600160a01b038916600090815260056020908152604080832093909355600490522054613ba59086612dde565b600080600080600080613ce487612e3d565b6001600160a01b038f16600090815260056020526040902054959b50939950919750955093509150613d169088612e8c565b6001600160a01b038a16600090815260056020908152604080832093909355600490522054613c6d9087612e8c565b600080600080600080613d5787612e3d565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150613b769087612e8c565b600061103a6064612b31601054856132e890919063ffffffff16565b600061103a6064612b31601254856132e890919063ffffffff16565b6000613dcb612dbb565b90506000613dd983836132e8565b30600090815260046020526040902054909150613df69082612dde565b3060009081526004602090815260408083209390935560089052205460ff161561392c5730600090815260056020526040902054613e349084612dde565b30600090815260056020526040902055505050565b600b54613e569083612e8c565b600b55600c54613e669082612dde565b600c555050565b600060208284031215613e7e578081fd5b813561124d8161435d565b600060208284031215613e9a578081fd5b815161124d8161435d565b60008060408385031215613eb7578081fd5b8235613ec28161435d565b91506020830135613ed28161435d565b809150509250929050565b600080600060608486031215613ef1578081fd5b8335613efc8161435d565b92506020840135613f0c8161435d565b929592945050506040919091013590565b60008060008060808587031215613f32578081fd5b8435613f3d8161435d565b93506020850135613f4d81614375565b93969395505050506040820135916060013590565b60008060408385031215613f74578182fd5b8235613f7f8161435d565b946020939093013593505050565b60006020808385031215613f9f578182fd5b825167ffffffffffffffff80821115613fb6578384fd5b818501915085601f830112613fc9578384fd5b815181811115613fdb57613fdb614347565b8060051b604051601f19603f8301168101818110858211171561400057614000614347565b604052828152858101935084860182860187018a101561401e578788fd5b8795505b83861015614040578051855260019590950194938601938601614022565b5098975050505050505050565b60006020828403121561405e578081fd5b813561124d81614375565b60006020828403121561407a578081fd5b815161124d81614375565b600060208284031215614096578081fd5b5035919050565b6000602082840312156140ae578081fd5b5051919050565b600080604083850312156140c7578182fd5b823591506020830135613ed281614375565b600080604083850312156140eb578182fd5b50508035926020909101359150565b6000815180845260208085019450808401835b838110156141325781516001600160a01b03168752958201959082019060010161410d565b509495945050505050565b84815260806020820152600061415660808301866140fa565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b8181101561419e57858101830151858201604001528201614182565b818111156141af5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b828152604060208201526000611eec60408301846140fa565b85815284602082015260a06040820152600061423260a08301866140fa565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156142625761426261431b565b500190565b60008261427657614276614331565b500490565b60008160001904831182151516156142955761429561431b565b500290565b6000828210156142ac576142ac61431b565b500390565b600181811c908216806142c557607f821691505b602082108114156142e657634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156143005761430061431b565b5060010190565b60008261431657614316614331565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461437257600080fd5b50565b801515811461437257600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e045524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212207c8f528524fdfe65822ca0fdfce087fa8a954fc6dd79e995ddec044c58178e1664736f6c63430008040033
Deployed Bytecode Sourcemap
15227:29083:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38695:149;;;;;;;;;;-1:-1:-1;38695:149:0;;;;;:::i;:::-;;:::i;:::-;;39707:98;;;;;;;;;;-1:-1:-1;39707:98:0;;;;;:::i;:::-;;:::i;19429:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41736:192;;;;;;;;;;;;;:::i;20341:161::-;;;;;;;;;;-1:-1:-1;20341:161:0;;;;;:::i;:::-;;:::i;:::-;;;6848:14:1;;6841:22;6823:41;;6811:2;6796:18;20341:161:0;6778:92:1;17469:33:0;;;;;;;;;;-1:-1:-1;17469:33:0;;;;;;;;21462:87;;;;;;;;;;-1:-1:-1;21531:10:0;;21462:87;;;16431:25:1;;;16419:2;16404:18;21462:87:0;16386:76:1;39445:112:0;;;;;;;;;;;;;:::i;17674:41::-;;;;;;;;;;-1:-1:-1;17674:41:0;;;;-1:-1:-1;;;;;17674:41:0;;;;;;-1:-1:-1;;;;;5827:32:1;;;5809:51;;5797:2;5782:18;17674:41:0;5764:102:1;19706:95:0;;;;;;;;;;-1:-1:-1;19786:7:0;;19706:95;;17329:44;;;;;;;;;;;;;;;;16830:30;;;;;;;;;;;;;;;;39241:196;;;;;;;;;;-1:-1:-1;39241:196:0;;;;;:::i;:::-;;:::i;20510:313::-;;;;;;;;;;-1:-1:-1;20510:313:0;;;;;:::i;:::-;;:::i;15477:81::-;;;;;;;;;;;;;;;41196:150;;;;;;;;;;-1:-1:-1;41196:150:0;;;;;:::i;:::-;;:::i;22644:253::-;;;;;;;;;;-1:-1:-1;22644:253:0;;;;;:::i;:::-;;:::i;17425:37::-;;;;;;;;;;-1:-1:-1;17425:37:0;;;;;:::i;:::-;;:::i;:::-;;;;17565:25:1;;;17621:2;17606:18;;17599:34;;;;17538:18;17425:37:0;17520:119:1;19615:83:0;;;;;;;;;;-1:-1:-1;19681:9:0;;19615:83;;19681:9;;;;17786:36:1;;17774:2;17759:18;19615:83:0;17741:87:1;23248:475:0;;;;;;;;;;-1:-1:-1;23248:475:0;;;;;:::i;:::-;;:::i;20831:218::-;;;;;;;;;;-1:-1:-1;20831:218:0;;;;;:::i;:::-;;:::i;16552:26::-;;;;;;;;;;;;;;;;21811:377;;;;;;;;;;-1:-1:-1;21811:377:0;;;;;:::i;:::-;;:::i;37416:111::-;;;;;;;;;;-1:-1:-1;37416:111:0;;;;;:::i;:::-;;:::i;22200:436::-;;;;;;;;;;-1:-1:-1;22200:436:0;;;;;:::i;:::-;;:::i;43975:326::-;;;;;;;;;;-1:-1:-1;43975:326:0;;;;;:::i;:::-;;:::i;17722:28::-;;;;;;;;;;-1:-1:-1;17722:28:0;;;;-1:-1:-1;;;;;17722:28:0;;;17791:41;;;;;;;;;;-1:-1:-1;17791:41:0;;;;-1:-1:-1;;;17791:41:0;;;;;;41524:200;;;;;;;;;;;;;:::i;22905:335::-;;;;;;;;;;-1:-1:-1;22905:335:0;;;;;:::i;:::-;;:::i;37281:123::-;;;;;;;;;;-1:-1:-1;37281:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;37369:27:0;37345:4;37369:27;;;:18;:27;;;;;;;;;37281:123;40315:134;;;;;;;;;;-1:-1:-1;40315:134:0;;;;;:::i;:::-;;:::i;6619:90::-;;;;;;;;;;-1:-1:-1;6686:15:0;6619:90;;42074:637;;;;;;;;;;-1:-1:-1;42074:637:0;;;;;:::i;:::-;;:::i;16952:54::-;;;;;;;;;;;;;;;;6517:90;;;;;;;;;;-1:-1:-1;6590:9:0;;6517:90;;17839:33;;;;;;;;;;-1:-1:-1;17839:33:0;;;;-1:-1:-1;;;17839:33:0;;;;;;17015:37;;;;;;;;;;;;;;;;16913:32;;;;;;;;;;;;;;;;40000:175;;;;;;;;;;-1:-1:-1;40000:175:0;;;;;:::i;:::-;;:::i;16639:33::-;;;;;;;;;;;;;;;;43167:139;;;;;;;;;;;;;:::i;17605:60::-;;;;;;;;;;;;;;;;19809:198;;;;;;;;;;-1:-1:-1;19809:198:0;;;;;:::i;:::-;;:::i;6109:148::-;;;;;;;;;;;;;:::i;21693:106::-;;;;;;;;;;-1:-1:-1;21775:16:0;;21693:106;;17085:51;;;;;;;;;;-1:-1:-1;17085:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7209:14:1;;7202:22;7184:41;;7256:2;7241:18;;7234:34;;;;7284:18;;;7277:34;;;;7342:2;7327:18;;7320:34;;;;7385:3;7370:19;;7363:35;7429:3;7414:19;;7407:35;7473:3;7458:19;;7451:35;7171:3;7156:19;17085:51:0;7138:354:1;17193:55:0;;;;;;;;;;;;;;;;17551:47;;;;;;;;;;;;;;;;42828:327;;;;;;;;;;-1:-1:-1;42828:327:0;;;;;:::i;:::-;;:::i;16867:37::-;;;;;;;;;;;;;;;;21334:120;;;;;;;;;;-1:-1:-1;21334:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;21426:20:0;21402:4;21426:20;;;:11;:20;;;;;;;;;21334:120;5884:79;;;;;;;;;;-1:-1:-1;5922:7:0;5949:6;-1:-1:-1;;;;;5949:6:0;5884:79;;40187:120;;;;;;;;;;-1:-1:-1;40187:120:0;;;;;:::i;:::-;;:::i;40866:139::-;;;;;;;;;;-1:-1:-1;40866:139:0;;;;;:::i;:::-;;:::i;19520:87::-;;;;;;;;;;;;;:::i;38973:117::-;;;;;;;;;;;;;:::i;21561:120::-;;;;;;;;;;-1:-1:-1;21650:23:0;;21561:120;;21057:269;;;;;;;;;;-1:-1:-1;21057:269:0;;;;;:::i;:::-;;:::i;15356:93::-;;;;;;;;;;-1:-1:-1;15356:93:0;;;;-1:-1:-1;;;;;15356:93:0;;;6955:305;;;;;;;;;;;;;:::i;20015:167::-;;;;;;;;;;-1:-1:-1;20015:167:0;;;;;:::i;:::-;;:::i;39098:135::-;;;;;;;;;;-1:-1:-1;39098:135:0;;;;;:::i;:::-;;:::i;43640:323::-;;;;;;;;;;-1:-1:-1;43640:323:0;;;;;:::i;:::-;;:::i;40578:110::-;;;;;;;;;;-1:-1:-1;40578:110:0;;;;;:::i;:::-;;:::i;40696:162::-;;;;;;;;;;-1:-1:-1;40696:162:0;;;;;:::i;:::-;;:::i;39565:130::-;;;;;;;;;;-1:-1:-1;39565:130:0;;;;;:::i;:::-;;:::i;41013:171::-;;;;;;;;;;-1:-1:-1;41013:171:0;;;;;:::i;:::-;;:::i;43314:314::-;;;;;;;;;;-1:-1:-1;43314:314:0;;;;;:::i;:::-;;:::i;17881:43::-;;;;;;;;;;-1:-1:-1;17881:43:0;;;;-1:-1:-1;;;17881:43:0;;;;;;17145:35;;;;;;;;;;;;;;;;16781:36;;;;;;;;;;;;;;;;6717:226;;;;;;;;;;-1:-1:-1;6717:226:0;;;;;:::i;:::-;;:::i;20190:143::-;;;;;;;;;;-1:-1:-1;20190:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;20298:18:0;;;20271:7;20298:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;20190:143;41354:158;;;;;;;;;;-1:-1:-1;41354:158:0;;;;;:::i;:::-;;:::i;38852:113::-;;;;;;;;;;-1:-1:-1;38852:113:0;;;;;:::i;:::-;;:::i;37539:110::-;;;;;;;;;;-1:-1:-1;37539:110:0;;;;;:::i;:::-;;:::i;40457:109::-;;;;;;;;;;-1:-1:-1;40457:109:0;;;;;:::i;:::-;;:::i;16745:29::-;;;;;;;;;;;;;;;;6265:244;;;;;;;;;;-1:-1:-1;6265:244:0;;;;;:::i;:::-;;:::i;17509:35::-;;;;;;;;;;;;;;;;39821:168;;;;;;;;;;-1:-1:-1;39821:168:0;;;;;:::i;:::-;;:::i;38695:149::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;;;;;;;;;38814:22:::1;:10:::0;38827:9:::1;38814:22;:::i;:::-;38784:27;:52:::0;-1:-1:-1;38695:149:0:o;39707:98::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;39781:7:::1;:16:::0;39707:98::o;19429:83::-;19466:13;19499:5;19492:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19429:83;:::o;41736:192::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;41790:30:::1;41815:4;41790:24;:30::i;:::-;41841:1;41831:7;:11:::0;41869:2:::1;41853:13;:18:::0;41897:23:::1;41882:12;:38:::0;41736:192::o;20341:161::-;20416:4;20433:39;268:10;20456:7;20465:6;20433:8;:39::i;:::-;-1:-1:-1;20490:4:0;20341:161;;;;;:::o;39445:112::-;39518:23;;39491:7;;39518:31;;39546:2;39518:27;:31::i;:::-;39511:38;;39445:112;:::o;39241:196::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;39342:3:::1;39328:10;:17;;39320:68;;;::::0;-1:-1:-1;;;39320:68:0;;14092:2:1;39320:68:0::1;::::0;::::1;14074:21:1::0;14131:2;14111:18;;;14104:30;14170:34;14150:18;;;14143:62;-1:-1:-1;;;14221:18:1;;;14214:36;14267:19;;39320:68:0::1;14064:228:1::0;39320:68:0::1;39399:17;:30:::0;39241:196::o;20510:313::-;20608:4;20625:36;20635:6;20643:9;20654:6;20625:9;:36::i;:::-;20672:121;20681:6;268:10;20703:89;20741:6;20703:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20703:19:0;;;;;;:11;:19;;;;;;;;268:10;20703:33;;;;;;;;;;:37;:89::i;:::-;20672:8;:121::i;:::-;-1:-1:-1;20811:4:0;20510:313;;;;;:::o;41196:150::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;41266:14:::1;:25:::0;;;::::1;;-1:-1:-1::0;;;41266:25:0::1;-1:-1:-1::0;;;;41266:25:0;;::::1;;::::0;;41307:31:::1;::::0;::::1;::::0;::::1;::::0;41283:8;6848:14:1;6841:22;6823:41;;6811:2;6796:18;;6778:92;41307:31:0::1;;;;;;;;41196:150:::0;:::o;22644:253::-;22710:7;22749;;22738;:18;;22730:73;;;;-1:-1:-1;;;22730:73:0;;9865:2:1;22730:73:0;;;9847:21:1;9904:2;9884:18;;;9877:30;9943:34;9923:18;;;9916:62;-1:-1:-1;;;9994:18:1;;;9987:40;10044:19;;22730:73:0;9837:232:1;22730:73:0;22814:19;22837:10;:8;:10::i;:::-;22814:33;-1:-1:-1;22865:24:0;:7;22814:33;22865:11;:24::i;:::-;22858:31;22644:253;-1:-1:-1;;;22644:253:0:o;17425:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17425:37:0;:::o;23248:475::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23330:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;23322:56;;;::::0;-1:-1:-1;;;23322:56:0;;11798:2:1;23322:56:0::1;::::0;::::1;11780:21:1::0;11837:2;11817:18;;;11810:30;11876:25;11856:18;;;11849:53;11919:18;;23322:56:0::1;11770:173:1::0;23322:56:0::1;23394:9;23389:327;23413:9;:16:::0;23409:20;::::1;23389:327;;;23471:7;-1:-1:-1::0;;;;;23455:23:0::1;:9;23465:1;23455:12;;;;;;-1:-1:-1::0;;;23455:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;23455:12:0::1;:23;23451:254;;;23514:9;23524:16:::0;;:20:::1;::::0;23543:1:::1;::::0;23524:20:::1;:::i;:::-;23514:31;;;;;;-1:-1:-1::0;;;23514:31:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;23499:9:::1;:12:::0;;-1:-1:-1;;;;;23514:31:0;;::::1;::::0;23509:1;;23499:12;::::1;;;-1:-1:-1::0;;;23499:12:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;23499:46:0::1;-1:-1:-1::0;;;;;23499:46:0;;::::1;;::::0;;23564:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;23603:11:::1;:20:::0;;;;:28;;-1:-1:-1;;23603:28:0::1;::::0;;23650:9:::1;:15:::0;;;::::1;;-1:-1:-1::0;;;23650:15:0::1;;;;;;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;23650:15:0;;;;;-1:-1:-1;;;;;;23650:15:0::1;::::0;;;;;23389:327:::1;23248:475:::0;:::o;23451:254::-:1;23431:3:::0;::::1;::::0;::::1;:::i;:::-;;;;23389:327;;;;23248:475:::0;:::o;20831:218::-;268:10;20919:4;20968:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;20968:34:0;;;;;;;;;;20919:4;;20936:83;;20959:7;;20968:50;;21007:10;20968:38;:50::i;21811:377::-;268:10;21863:14;21912:19;;;:11;:19;;;;;;;;21911:20;21903:77;;;;-1:-1:-1;;;21903:77:0;;15670:2:1;21903:77:0;;;15652:21:1;15709:2;15689:18;;;15682:30;15748:34;15728:18;;;15721:62;-1:-1:-1;;;15799:18:1;;;15792:42;15851:19;;21903:77:0;15642:234:1;21903:77:0;21992:15;22016:19;22027:7;22016:10;:19::i;:::-;-1:-1:-1;;;;;;;;;22064:15:0;;;;;;:7;:15;;;;;;21991:44;;-1:-1:-1;22064:28:0;;:15;-1:-1:-1;21991:44:0;22064:19;:28::i;:::-;-1:-1:-1;;;;;22046:15:0;;;;;;:7;:15;;;;;:46;22113:7;;:20;;22125:7;22113:11;:20::i;:::-;22103:7;:30;22157:10;;:23;;22172:7;22157:14;:23::i;:::-;22144:10;:36;-1:-1:-1;;;21811:377:0:o;37416:111::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;37485:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;37485:34:0::1;37515:4;37485:34;::::0;;37416:111::o;22200:436::-;22290:7;22329;;22318;:18;;22310:62;;;;-1:-1:-1;;;22310:62:0;;12150:2:1;22310:62:0;;;12132:21:1;12189:2;12169:18;;;12162:30;12228:33;12208:18;;;12201:61;12279:18;;22310:62:0;12122:181:1;22310:62:0;22388:17;22383:246;;22423:15;22447:19;22458:7;22447:10;:19::i;:::-;-1:-1:-1;22422:44:0;;-1:-1:-1;22481:14:0;;-1:-1:-1;;;;;22481:14:0;22383:246;22530:23;22561:19;22572:7;22561:10;:19::i;:::-;-1:-1:-1;22528:52:0;;-1:-1:-1;22595:22:0;;-1:-1:-1;;;;;22595:22:0;43975:326;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;44118:22:0;;;::::1;;::::0;;;:12:::1;:22;::::0;;;;:39;;-1:-1:-1;;44118:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;44168:34:::1;::::0;::::1;:51:::0;44230:40:::1;;:63:::0;43975:326::o;41524:200::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;41583:31:::1;41608:5;41583:24;:31::i;:::-;41635:1;41625:7;:11:::0;;;41647:13:::1;:17:::0;41690:26:::1;41675:12;:41:::0;41524:200::o;22905:335::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;22990:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;22989:21;22981:61;;;::::0;-1:-1:-1;;;22981:61:0;;11442:2:1;22981:61:0::1;::::0;::::1;11424:21:1::0;11481:2;11461:18;;;11454:30;11520:29;11500:18;;;11493:57;11567:18;;22981:61:0::1;11414:177:1::0;22981:61:0::1;-1:-1:-1::0;;;;;23056:16:0;::::1;23075:1;23056:16:::0;;;:7:::1;:16;::::0;;;;;:20;23053:108:::1;;-1:-1:-1::0;;;;;23132:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;23112:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;23093:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;23053:108:::1;-1:-1:-1::0;;;;;23171:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;23171:27:0::1;23194:4;23171:27:::0;;::::1;::::0;;;23209:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;23209:23:0::1;::::0;;::::1;::::0;;22905:335::o;40315:134::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40403:16:::1;:38:::0;40315:134::o;42074:637::-;42145:13;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;42171:35:::1;42228:7;42171:65;;42283:16;-1:-1:-1::0;;;;;42283:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;42265:53:0::1;;42327:4;42334:16;-1:-1:-1::0;;;;;42334:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42265:93;::::0;-1:-1:-1;;;;;;42265:93:0::1;::::0;;;;;;-1:-1:-1;;;;;6325:15:1;;;42265:93:0::1;::::0;::::1;6307:34:1::0;6377:15;;6357:18;;;6350:43;6242:18;;42265:93:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42257:101:::0;-1:-1:-1;;;;;;42372:19:0;::::1;42369:203;;42468:16;-1:-1:-1::0;;;;;42468:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;42450:70:0::1;;42529:4;42536:16;-1:-1:-1::0;;;;;42536:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42450:110;::::0;-1:-1:-1;;;;;;42450:110:0::1;::::0;;;;;;-1:-1:-1;;;;;6325:15:1;;;42450:110:0::1;::::0;::::1;6307:34:1::0;6377:15;;6357:18;;;6350:43;6242:18;;42450:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42442:118;;42369:203;42582:13;:21:::0;;-1:-1:-1;;;;;42582:21:0;;::::1;-1:-1:-1::0;;;;;;42582:21:0;;::::1;;::::0;;;42669:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;42598:5;42074:637;-1:-1:-1;42074:637:0:o;40000:175::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40096:11:::1;:24:::0;;;;40131:17:::1;:36:::0;40000:175::o;43167:139::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;43232:21:::1;43272:7;5922::::0;5949:6;-1:-1:-1;;;;;5949:6:0;;5884:79;43272:7:::1;-1:-1:-1::0;;;;;43264:25:0::1;:34;43290:7;43264:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;19809:198:::0;-1:-1:-1;;;;;19899:20:0;;19875:7;19899:20;;;:11;:20;;;;;;;;19895:49;;;-1:-1:-1;;;;;;19928:16:0;;;;;:7;:16;;;;;;;19809:198::o;19895:49::-;-1:-1:-1;;;;;19982:16:0;;;;;;:7;:16;;;;;;19962:37;;:19;:37::i;6109:148::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;6216:1:::1;6200:6:::0;;6179:40:::1;::::0;-1:-1:-1;;;;;6200:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;6179:40:0;6216:1;;6179:40:::1;6247:1;6230:19:::0;;-1:-1:-1;;;;;;6230:19:0::1;::::0;;6109:148::o;42828:327::-;42912:10;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;42942:23:0;::::1;42960:4;42942:23;;42934:71;;;::::0;-1:-1:-1;;;42934:71:0;;9461:2:1;42934:71:0::1;::::0;::::1;9443:21:1::0;9500:2;9480:18;;;9473:30;9539:34;9519:18;;;9512:62;-1:-1:-1;;;9590:18:1;;;9583:33;9633:19;;42934:71:0::1;9433:225:1::0;42934:71:0::1;43043:39;::::0;-1:-1:-1;;;43043:39:0;;43076:4:::1;43043:39;::::0;::::1;5809:51:1::0;43016:24:0::1;::::0;-1:-1:-1;;;;;43043:24:0;::::1;::::0;::::1;::::0;5782:18:1;;43043:39:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43101:46;::::0;-1:-1:-1;;;43101:46:0;;-1:-1:-1;;;;;6596:32:1;;;43101:46:0::1;::::0;::::1;6578:51:1::0;6645:18;;;6638:34;;;43016:66:0;;-1:-1:-1;43101:23:0;;::::1;::::0;::::1;::::0;6551:18:1;;43101:46:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43093:54:::0;42828:327;-1:-1:-1;;;;42828:327:0:o;40187:120::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40271:13:::1;:28:::0;40187:120::o;40866:139::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40952:16:::1;:45:::0;;-1:-1:-1;;;;;;40952:45:0::1;-1:-1:-1::0;;;;;40952:45:0;;;::::1;::::0;;;::::1;::::0;;40866:139::o;19520:87::-;19559:13;19592:7;19585:14;;;;;:::i;38973:117::-;39054:20;;39027:7;;39054:28;;39079:2;39054:24;:28::i;21057:269::-;21150:4;21167:129;268:10;21190:7;21199:96;21238:15;21199:96;;;;;;;;;;;;;;;;;268:10;21199:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;21199:34:0;;;;;;;;;;;;:38;:96::i;6955:305::-;7007:14;;-1:-1:-1;;;;;7007:14:0;7025:10;7007:28;6999:76;;;;-1:-1:-1;;;6999:76:0;;16083:2:1;6999:76:0;;;16065:21:1;16122:2;16102:18;;;16095:30;16161:34;16141:18;;;16134:62;-1:-1:-1;;;16212:18:1;;;16205:33;16255:19;;6999:76:0;16055:225:1;6999:76:0;7112:9;;7094:15;:27;7086:72;;;;-1:-1:-1;;;7086:72:0;;15310:2:1;7086:72:0;;;15292:21:1;15349:2;15329:18;;;15322:30;15388:33;15368:18;;;15361:61;15439:18;;7086:72:0;15282:181:1;7086:72:0;7203:14;;;7195:6;;7174:44;;-1:-1:-1;;;;;7203:14:0;;;;7195:6;;;;-1:-1:-1;;;;;;;;;;;7174:44:0;;7238:14;;;7229:23;;-1:-1:-1;;;;;;7229:23:0;-1:-1:-1;;;;;7238:14:0;;;7229:23;;;;;;6955:305::o;20015:167::-;20093:4;20110:42;268:10;20134:9;20145:6;20110:9;:42::i;39098:135::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;39203:22:::1;:10:::0;39216:9:::1;39203:22;:::i;:::-;39180:20;:45:::0;-1:-1:-1;39098:135:0:o;43640:323::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;43782:22:0;;;::::1;;::::0;;;:12:::1;:22;::::0;;;;:39;;-1:-1:-1;;43782:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;43832:33:::1;::::0;::::1;:50:::0;43893:39:::1;;:62:::0;43640:323::o;40578:110::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40654:16:::1;:26:::0;40578:110::o;40696:162::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40800:23:::1;:50:::0;40696:162::o;39565:130::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;39665:22:::1;:10:::0;39678:9:::1;39665:22;:::i;:::-;39639:23;:48:::0;-1:-1:-1;39565:130:0:o;41013:171::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;41090:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;41090:32:0::1;-1:-1:-1::0;;;;41090:32:0;;::::1;;::::0;;41138:38:::1;::::0;::::1;::::0;::::1;::::0;41114:8;6848:14:1;6841:22;6823:41;;6811:2;6796:18;;6778:92;43314:314:0;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;43453:22:0;;;::::1;;::::0;;;:12:::1;:22;::::0;;;;:39;;-1:-1:-1;;43453:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;43503:30:0;::::1;:47:::0;43561:36:::1;;:59:::0;43314:314::o;6717:226::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;6798:6:::1;::::0;;;6781:23;;-1:-1:-1;;;;;;6781:23:0;;::::1;-1:-1:-1::0;;;;;6798:6:0;::::1;6781:23;::::0;;;6815:19:::1;::::0;;6857:22:::1;6875:4:::0;6857:15:::1;:22;:::i;:::-;6845:9;:34:::0;6932:1:::1;6916:6:::0;;6895:40:::1;::::0;-1:-1:-1;;;;;6916:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;6895:40:0;6932:1;;6895:40:::1;6717:226:::0;:::o;41354:158::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;41428:14:::1;:25:::0;;-1:-1:-1;;41428:25:0::1;::::0;::::1;;::::0;;::::1;::::0;;;41469:35:::1;::::0;6823:41:1;;;41469:35:0::1;::::0;6811:2:1;6796:18;41469:35:0::1;6778:92:1::0;38852:113:0;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;38929:15:::1;:28:::0;38852:113::o;37539:110::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;37606:27:0::1;37636:5;37606:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;37606:35:0::1;::::0;;37539:110::o;40457:109::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;40532:12:::1;:26:::0;40457:109::o;6265:244::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6354:22:0;::::1;6346:73;;;::::0;-1:-1:-1;;;6346:73:0;;10276:2:1;6346:73:0::1;::::0;::::1;10258:21:1::0;10315:2;10295:18;;;10288:30;10354:34;10334:18;;;10327:62;-1:-1:-1;;;10405:18:1;;;10398:36;10451:19;;6346:73:0::1;10248:228:1::0;6346:73:0::1;6456:6;::::0;;6435:38:::1;::::0;-1:-1:-1;;;;;6435:38:0;;::::1;::::0;6456:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;6435:38:0;::::1;6484:6;:17:::0;;-1:-1:-1;;;;;;6484:17:0::1;-1:-1:-1::0;;;;;6484:17:0;;;::::1;::::0;;;::::1;::::0;;6265:244::o;39821:168::-;6018:6;;-1:-1:-1;;;;;6018:6:0;268:10;6018:22;6010:67;;;;-1:-1:-1;;;6010:67:0;;;;;;;:::i;:::-;39914:10:::1;:22:::0;;;;39947:16:::1;:34:::0;39821:168::o;23731:337::-;-1:-1:-1;;;;;23824:19:0;;23816:68;;;;-1:-1:-1;;;23816:68:0;;14905:2:1;23816:68:0;;;14887:21:1;14944:2;14924:18;;;14917:30;14983:34;14963:18;;;14956:62;-1:-1:-1;;;15034:18:1;;;15027:34;15078:19;;23816:68:0;14877:226:1;23816:68:0;-1:-1:-1;;;;;23903:21:0;;23895:68;;;;-1:-1:-1;;;23895:68:0;;10683:2:1;23895:68:0;;;10665:21:1;10722:2;10702:18;;;10695:30;10761:34;10741:18;;;10734:62;-1:-1:-1;;;10812:18:1;;;10805:32;10854:19;;23895:68:0;10655:224:1;23895:68:0;-1:-1:-1;;;;;23976:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;24028:32;;16431:25:1;;;24028:32:0;;16404:18:1;24028:32:0;;;;;;;23731:337;;;:::o;2043:132::-;2101:7;2128:39;2132:1;2135;2128:39;;;;;;;;;;;;;;;;;:3;:39::i;24076:4585::-;-1:-1:-1;;;;;24198:18:0;;24190:68;;;;-1:-1:-1;;;24190:68:0;;14499:2:1;24190:68:0;;;14481:21:1;14538:2;14518:18;;;14511:30;14577:34;14557:18;;;14550:62;-1:-1:-1;;;14628:18:1;;;14621:35;14673:19;;24190:68:0;14471:227:1;24190:68:0;-1:-1:-1;;;;;24277:16:0;;24269:64;;;;-1:-1:-1;;;24269:64:0;;9057:2:1;24269:64:0;;;9039:21:1;9096:2;9076:18;;;9069:30;9135:34;9115:18;;;9108:62;-1:-1:-1;;;9186:18:1;;;9179:33;9229:19;;24269:64:0;9029:225:1;24269:64:0;24361:1;24352:6;:10;24344:64;;;;-1:-1:-1;;;24344:64:0;;13682:2:1;24344:64:0;;;13664:21:1;13721:2;13701:18;;;13694:30;13760:34;13740:18;;;13733:62;-1:-1:-1;;;13811:18:1;;;13804:39;13860:19;;24344:64:0;13654:231:1;24344:64:0;5922:7;5949:6;-1:-1:-1;;;;;24422:15:0;;;5949:6;;24422:15;;;;:32;;-1:-1:-1;5922:7:0;5949:6;-1:-1:-1;;;;;24441:13:0;;;5949:6;;24441:13;;24422:32;24419:139;;;24489:12;;24479:6;:22;;24471:75;;;;-1:-1:-1;;;24471:75:0;;12510:2:1;24471:75:0;;;12492:21:1;12549:2;12529:18;;;12522:30;12588:34;12568:18;;;12561:62;-1:-1:-1;;;12639:18:1;;;12632:38;12687:19;;24471:75:0;12482:230:1;24471:75:0;24570:28;24601:24;24619:4;24601:9;:24::i;:::-;24691:23;;24741:13;;24570:55;;-1:-1:-1;24667:47:0;;;;-1:-1:-1;;;;;24735:19:0;;;24741:13;;24735:19;:51;;;;-1:-1:-1;24768:13:0;;24785:1;;24758:24;;-1:-1:-1;;;;;24768:13:0;24758:9;:24::i;:::-;:28;24735:51;24731:278;;;-1:-1:-1;;;;;;;;;;;;;;24869:15:0;24850:34;;24923:25;24941:6;24923:17;:25::i;:::-;24899:21;;;;:49;;;24965:32;;;;;;;-1:-1:-1;24965:32:0;;;;;;;;;;;;;;;;;;;;;24731:278;25062:16;;-1:-1:-1;;;25062:16:0;;;;25061:17;:42;;;;-1:-1:-1;25082:21:0;;-1:-1:-1;;;25082:21:0;;;;25061:42;:74;;;;-1:-1:-1;25117:13:0;;25134:1;;25107:24;;-1:-1:-1;;;;;25117:13:0;25107:9;:24::i;:::-;:28;25061:74;25057:1934;;;25162:13;;-1:-1:-1;;;;;25156:19:0;;;25162:13;;25156:19;25152:1814;;;25200:23;:89;;;;;25274:15;25247:23;;25227:17;;:43;;;;:::i;:::-;:62;;25200:89;25196:301;;;25334:15;25314:17;:35;25395:23;;;-1:-1:-1;25441:32:0;25395:23;25441:10;:32::i;:::-;25523:14;;-1:-1:-1;;;25523:14:0;;;;25519:1432;;;25667:16;;25712:14;;25582:21;;25667:16;25712:14;;25708:840;;;25757:20;25808:17;25846:20;;25828:15;:38;;;;:::i;:::-;25808:58;;25893:11;25942:6;25937:354;25958:14;:21;25954:25;;25937:354;;;26078:9;26052:14;26067:1;26052:17;;;;;;-1:-1:-1;;;26052:17:0;;;;;;;;;;;;;;;;;;;:22;;;:35;26048:216;;26139:45;26156:14;26171:1;26156:17;;;;;;-1:-1:-1;;;26156:17:0;;;;;;;;;;;;;;;;;;;:27;;;26139:12;:16;;:45;;;;:::i;:::-;26124:60;-1:-1:-1;26225:7:0;:3;26231:1;26225:7;:::i;:::-;26219:13;;26048:216;25981:4;;;;:::i;:::-;;;;25937:354;;;;26329:1;26323:3;:7;:30;;;;;26352:1;26334:15;;:19;26323:30;26319:152;;;26427:15;;26401:42;;:21;:12;26418:3;26401:16;:21::i;:::-;:25;;:42::i;:::-;26386:57;;26319:152;26499:25;:23;:25::i;:::-;25708:840;;;;26572:20;26595:44;26635:3;26595:35;26612:17;;26595:12;:16;;:35;;;;:::i;:44::-;26572:67;-1:-1:-1;26664:17:0;26774:27;26572:67;26774:12;:27;:::i;:::-;:31;;26804:1;26774:31;:::i;:::-;26717:51;;;26734:15;26717:51;;;5568:19:1;26751:16:0;5603:12:1;;;5596:28;;;;5640:12;;26717:51:0;;;;;;;;;;;;26707:62;;;;;;26699:71;;:107;;;;:::i;:::-;26684:122;;:12;:122;:::i;:::-;26664:142;;26845:9;26835:7;:19;26831:100;;;26883:24;26897:9;26883:13;:24::i;:::-;25519:1432;;;;;-1:-1:-1;;;;;27131:24:0;;27003:12;27131:24;;;:18;:24;;;;;;27018:4;;27131:24;;;:50;;-1:-1:-1;;;;;;27159:22:0;;;;;;:18;:22;;;;;;;;27131:50;27128:1467;;;-1:-1:-1;27207:5:0;27128:1467;;;27284:13;;-1:-1:-1;;;;;27276:21:0;;;27284:13;;27276:21;27273:164;;;27317:14;:12;:14::i;:::-;27360:10;;27350:7;:20;27405:16;;27389:13;:32;27273:164;27481:13;;-1:-1:-1;;;;;27475:19:0;;;27481:13;;27475:19;27472:164;;;27514:14;:12;:14::i;:::-;27557:11;;27547:7;:21;27603:17;;27587:13;:33;27472:164;-1:-1:-1;;;;;27718:18:0;;;;;;:12;:18;;;;;:25;;;27715:869;;;27763:14;:12;:14::i;:::-;-1:-1:-1;;;;;27806:18:0;;;;;;;:12;:18;;;;;:26;;;;27796:7;:36;27867:32;;;27851:13;:48;27970:13;;27964:19;;;27970:13;;27964:19;27961:181;;;-1:-1:-1;;;;;28017:18:0;;;;;;:12;:18;;;;;:30;;;;28007:7;:40;28086:36;;;28070:13;:52;27961:181;27715:869;;;-1:-1:-1;;;;;28250:16:0;;;;;;:12;:16;;;;;:23;;;28247:322;;;28324:14;:12;:14::i;:::-;28372:13;;-1:-1:-1;;;;;28364:21:0;;;28372:13;;28364:21;28361:189;;;-1:-1:-1;;;;;28423:16:0;;;;;;:12;:16;;;;;:27;;;;28413:7;:37;28493:33;;;28477:13;:49;28361:189;28615:38;28630:4;28635:2;28638:6;28645:7;28615:14;:38::i;:::-;24076:4585;;;;;;:::o;1583:192::-;1669:7;1705:12;1697:6;;;;1689:29;;;;-1:-1:-1;;;1689:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1729:9:0;1741:5;1745:1;1741;:5;:::i;:::-;1729:17;1583:192;-1:-1:-1;;;;;1583:192:0:o;35431:163::-;35472:7;35493:15;35510;35529:19;:17;:19::i;:::-;35492:56;;-1:-1:-1;35492:56:0;-1:-1:-1;35566:20:0;35492:56;;35566:11;:20::i;:::-;35559:27;;;;35431:163;:::o;1250:181::-;1308:7;;1340:5;1344:1;1340;:5;:::i;:::-;1328:17;;1369:1;1364;:6;;1356:46;;;;-1:-1:-1;;;1356:46:0;;11086:2:1;1356:46:0;;;11068:21:1;11125:2;11105:18;;;11098:30;11164:29;11144:18;;;11137:57;11211:18;;1356:46:0;11058:177:1;34229:419:0;34288:7;34297;34306;34315;34324;34333;34354:23;34379:12;34393:18;34415:20;34427:7;34415:11;:20::i;:::-;34353:82;;;;;;34447:15;34464:23;34489:12;34505:50;34517:7;34526:4;34532:10;34544;:8;:10::i;:::-;34505:11;:50::i;:::-;34446:109;;;;-1:-1:-1;34446:109:0;;-1:-1:-1;34606:15:0;;-1:-1:-1;34623:4:0;;-1:-1:-1;34629:10:0;;-1:-1:-1;34229:419:0;;-1:-1:-1;;;;;34229:419:0:o;1439:136::-;1497:7;1524:43;1528:1;1531;1524:43;;;;;;;;;;;;;;;;;:3;:43::i;2183:278::-;2269:7;2304:12;2297:5;2289:28;;;;-1:-1:-1;;;2289:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2328:9:0;2340:5;2344:1;2340;:5;:::i;37659:331::-;37772:16;;;37786:1;37772:16;;;;;;;;37728:7;;;;37772:16;37786:1;37772:16;;;;;;;;;;-1:-1:-1;37772:16:0;37748:40;;37819:4;37801;37806:1;37801:7;;;;;;-1:-1:-1;;;37801:7:0;;;;;;;;;-1:-1:-1;;;;;37801:23:0;;;:7;;;;;;;;;;:23;;;;37845:15;;:22;;;-1:-1:-1;;;37845:22:0;;;;:15;;;;;:20;;:22;;;;;37801:7;;37845:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37835:4;37840:1;37835:7;;;;;;-1:-1:-1;;;37835:7:0;;;;;;;;;-1:-1:-1;;;;;37835:32:0;;;:7;;;;;;;;;:32;37904:15;;:48;;-1:-1:-1;;;37904:48:0;;37880:21;;37904:15;;;;;:29;;:48;;37934:11;;37947:4;;37904:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;37904:48:0;;;;;;;;;;;;:::i;:::-;37880:72;;37972:7;37980:1;37972:10;;;;;;-1:-1:-1;;;37972:10:0;;;;;;;;;;;;;;;37965:17;;;;37659:331;;;:::o;28669:424::-;18509:16;:23;;-1:-1:-1;;;;18509:23:0;-1:-1:-1;;;18509:23:0;;;28784:21:::1;28816:38;28833:20:::0;28816:16:::1;:38::i;:::-;28865:26;28894:41;:21;28920:14:::0;28894:25:::1;:41::i;:::-;29007:16;::::0;29048::::1;::::0;28865:70;;-1:-1:-1;28986:89:0::1;::::0;-1:-1:-1;;;;;29007:16:0;;::::1;::::0;29025:49:::1;::::0;29070:3:::1;::::0;29025:40:::1;::::0;28865:70;;29025:22:::1;:40::i;:49::-;28986:20;:89::i;:::-;-1:-1:-1::0;;18555:16:0;:24;;-1:-1:-1;;;;18555:24:0;;;-1:-1:-1;28669:424:0:o;37998:689::-;38052:9;38076:32;38129:27;;38111:15;:45;;;;:::i;:::-;38076:80;;38174:9;38169:327;38193:14;:21;38189:25;;38169:327;;;38269:24;38243:14;38258:1;38243:17;;;;;;-1:-1:-1;;;38243:17:0;;;;;;;;;;;;;;;;;;;:22;;;:50;38239:246;;38341:14;38356:1;38341:17;;;;;;-1:-1:-1;;;38341:17:0;;;;;;;;;;;;;;;;;;;:22;;;38316:14;38331:1;38316:17;;;;;;-1:-1:-1;;;38316:17:0;;;;;;;;;;;;;;;;;;;:22;;:47;;;;38412:14;38427:1;38412:17;;;;;;-1:-1:-1;;;38412:17:0;;;;;;;;;;;;;;;;;;;:27;;;38382:14;38397:1;38382:17;;;;;;-1:-1:-1;;;38382:17:0;;;;;;;;;;;;;;;;;;;:27;;:57;;;;38464:1;38468;38464:5;;;;:::i;:::-;38460:9;;38239:246;38216:4;;;;:::i;:::-;;;;38169:327;;;-1:-1:-1;38529:14:0;:21;38508:18;;38529:25;;38553:1;;38529:25;:::i;:::-;38508:46;;38572:9;38567:103;38591:10;38587:1;:14;38567:103;;;38638:14;:20;;;;;-1:-1:-1;;;38638:20:0;;;;;;;;;;;;;;;;;-1:-1:-1;;38638:20:0;;;;;;;;;;;;;;;38603:4;;;;:::i;:::-;;;;38567:103;;;;37998:689;;;:::o;1783:250::-;1841:7;1865:6;1861:47;;-1:-1:-1;1895:1:0;1888:8;;1861:47;1920:9;1932:5;1936:1;1932;:5;:::i;:::-;1920:17;-1:-1:-1;1965:1:0;1956:5;1960:1;1920:17;1956:5;:::i;:::-;:10;1948:56;;;;-1:-1:-1;;;1948:56:0;;12919:2:1;1948:56:0;;;12901:21:1;12958:2;12938:18;;;12931:30;12997:34;12977:18;;;12970:62;-1:-1:-1;;;13048:18:1;;;13041:31;13089:19;;1948:56:0;12891:223:1;29107:135:0;18509:16;:23;;-1:-1:-1;;;;18509:23:0;-1:-1:-1;;;18509:23:0;;;29178:10;;29174:61:::1;;29202:24;29219:6;29202:16;:24::i;:::-;-1:-1:-1::0;18555:16:0;:24;;-1:-1:-1;;;;18555:24:0;;;29107:135::o;36886:250::-;36932:7;;:12;:34;;;;-1:-1:-1;36948:13:0;;:18;36932:34;36929:46;;;36886:250::o;36929:46::-;37013:7;;;36995:15;:25;37055:13;;;37031:21;:37;-1:-1:-1;37089:11:0;;;;37111:17;36886:250::o;31043:704::-;31154:7;31150:40;;31176:14;:12;:14::i;:::-;-1:-1:-1;;;;;31215:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;31239:22:0;;;;;;:11;:22;;;;;;;;31238:23;31215:46;31211:467;;;31278:48;31300:6;31308:9;31319:6;31278:21;:48::i;:::-;31211:467;;;-1:-1:-1;;;;;31349:19:0;;;;;;:11;:19;;;;;;;;31348:20;:46;;;;-1:-1:-1;;;;;;31372:22:0;;;;;;:11;:22;;;;;;;;31348:46;31344:334;;;31411:46;31431:6;31439:9;31450:6;31411:19;:46::i;31344:334::-;-1:-1:-1;;;;;31479:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;31502:22:0;;;;;;:11;:22;;;;;;;;31479:45;31475:203;;;31541:48;31563:6;31571:9;31582:6;31541:21;:48::i;31475:203::-;31622:44;31640:6;31648:9;31659:6;31622:17;:44::i;:::-;31702:7;31698:41;;31724:15;37202;;37192:7;:25;37244:21;;37228:13;:37;37148:125;35602:561;35699:7;;35735;;35652;;;;;35759:289;35783:9;:16;35779:20;;35759:289;;;35849:7;35825;:21;35833:9;35843:1;35833:12;;;;;;-1:-1:-1;;;35833:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35833:12:0;35825:21;;;;;;;;;;;;;:31;;:66;;;35884:7;35860;:21;35868:9;35878:1;35868:12;;;;;;-1:-1:-1;;;35868:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35868:12:0;35860:21;;;;;;;;;;;;;:31;35825:66;35821:97;;;35901:7;;35910;;35893:25;;;;;;;35602:561;;:::o;35821:97::-;35943:34;35955:7;:21;35963:9;35973:1;35963:12;;;;;;-1:-1:-1;;;35963:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35963:12:0;35955:21;;;;;;;;;;;;;35943:7;;:11;:34::i;:::-;35933:44;;36002:34;36014:7;:21;36022:9;36032:1;36022:12;;;;;;-1:-1:-1;;;36022:12:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;36022:12:0;36014:21;;;;;;;;;;;;;36002:7;;:11;:34::i;:::-;35992:44;-1:-1:-1;35801:3:0;;;;:::i;:::-;;;;35759:289;;;-1:-1:-1;36084:7:0;;36072;;:20;;:11;:20::i;:::-;36062:7;:30;36058:61;;;36102:7;;36111;;36094:25;;;;;;35602:561;;:::o;36058:61::-;36138:7;;36147;;-1:-1:-1;35602:561:0;-1:-1:-1;35602:561:0:o;34656:330::-;34716:7;34725;34734;34754:12;34769:24;34785:7;34769:15;:24::i;:::-;34754:39;;34804:18;34825:30;34847:7;34825:21;:30::i;:::-;34804:51;-1:-1:-1;34866:23:0;34892:33;34804:51;34892:17;:7;34904:4;34892:11;:17::i;:::-;:21;;:33::i;:::-;34866:59;34961:4;;-1:-1:-1;34967:10:0;;-1:-1:-1;34656:330:0;;-1:-1:-1;;;34656:330:0:o;34994:429::-;35109:7;;;;35165:24;:7;35177:11;35165;:24::i;:::-;35147:42;-1:-1:-1;35200:12:0;35215:21;:4;35224:11;35215:8;:21::i;:::-;35200:36;-1:-1:-1;35247:18:0;35268:27;:10;35283:11;35268:14;:27::i;:::-;35247:48;-1:-1:-1;35306:23:0;35332:33;35247:48;35332:17;:7;35344:4;35332:11;:17::i;:33::-;35384:7;;;;-1:-1:-1;35410:4:0;;-1:-1:-1;34994:429:0;;-1:-1:-1;;;;;;;34994:429:0:o;29254:666::-;29404:16;;;29418:1;29404:16;;;;;;;;29380:21;;29404:16;;;;;;;;;;-1:-1:-1;29404:16:0;29380:40;;29449:4;29431;29436:1;29431:7;;;;;;-1:-1:-1;;;29431:7:0;;;;;;;;;-1:-1:-1;;;;;29431:23:0;;;:7;;;;;;;;;;:23;;;;29475:15;;:22;;;-1:-1:-1;;;29475:22:0;;;;:15;;;;;:20;;:22;;;;;29431:7;;29475:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29465:4;29470:1;29465:7;;;;;;-1:-1:-1;;;29465:7:0;;;;;;;;;-1:-1:-1;;;;;29465:32:0;;;:7;;;;;;;;;:32;29542:15;;29510:62;;29527:4;;29542:15;29560:11;29510:8;:62::i;:::-;29611:15;;:240;;-1:-1:-1;;;29611:240:0;;-1:-1:-1;;;;;29611:15:0;;;;:66;;:240;;29692:11;;29611:15;;29762:4;;29789;;29825:15;;29611:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29877:35;29894:11;29907:4;29877:35;;;;;;;:::i;:::-;;;;;;;;29254:666;;:::o;41940:126::-;42032:26;;-1:-1:-1;;;;;42032:18:0;;;:26;;;;;42051:6;;42032:26;;;;42051:6;42032:18;:26;;;;;;;;;;;;;;;;;;;;;41940:126;;:::o;29932:578::-;30077:16;;;30091:1;30077:16;;;;;;;;30053:21;;30077:16;;;;;;;;-1:-1:-1;;30114:15:0;;:22;;;-1:-1:-1;;;30114:22:0;;;;30053:40;;-1:-1:-1;;;;;;30114:15:0;;;;:20;;-1:-1:-1;30114:22:0;;;;;;;;;;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;30104:4;30109:1;30104:7;;;;;;-1:-1:-1;;;30104:7:0;;;;;;;;;;;;;;:32;-1:-1:-1;;;;;30104:32:0;;;-1:-1:-1;;;;;30104:32:0;;;;;30165:4;30147;30152:1;30147:7;;;;;;-1:-1:-1;;;30147:7:0;;;;;;;;;-1:-1:-1;;;;;30147:23:0;;;:7;;;;;;;;;:23;30207:15;;;:66;30281:6;30207:15;30350:4;30369:11;30411:24;:15;30431:3;30411:19;:24::i;:::-;30207:239;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30472:30;30489:6;30497:4;30472:30;;;;;;;:::i;32856:563::-;32959:15;32976:23;33001:12;33015:23;33040:12;33054:18;33076:19;33087:7;33076:10;:19::i;:::-;-1:-1:-1;;;;;33121:15:0;;;;;;:7;:15;;;;;;32958:137;;-1:-1:-1;32958:137:0;;-1:-1:-1;32958:137:0;;-1:-1:-1;32958:137:0;-1:-1:-1;32958:137:0;-1:-1:-1;32958:137:0;-1:-1:-1;33121:28:0;;33141:7;33121:19;:28::i;:::-;-1:-1:-1;;;;;33103:15:0;;;;;;:7;:15;;;;;;;;:46;;;;33178:7;:15;;;;:28;;33198:7;33178:19;:28::i;:::-;-1:-1:-1;;;;;33160:15:0;;;;;;;:7;:15;;;;;;:46;;;;33238:18;;;;;;;:39;;33261:15;33238:22;:39::i;:::-;-1:-1:-1;;;;;33217:18:0;;;;;;:7;:18;;;;;:60;33291:26;33306:10;33291:14;:26::i;:::-;33328:23;33340:4;33346;33328:11;:23::i;:::-;33384:9;-1:-1:-1;;;;;33367:44:0;33376:6;-1:-1:-1;;;;;33367:44:0;;33395:15;33367:44;;;;16431:25:1;;16419:2;16404:18;;16386:76;33367:44:0;;;;;;;;32856:563;;;;;;;;;:::o;32265:583::-;32366:15;32383:23;32408:12;32422:23;32447:12;32461:18;32483:19;32494:7;32483:10;:19::i;:::-;-1:-1:-1;;;;;32528:15:0;;;;;;:7;:15;;;;;;32365:137;;-1:-1:-1;32365:137:0;;-1:-1:-1;32365:137:0;;-1:-1:-1;32365:137:0;-1:-1:-1;32365:137:0;-1:-1:-1;32365:137:0;-1:-1:-1;32528:28:0;;32365:137;32528:19;:28::i;:::-;-1:-1:-1;;;;;32510:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;32588:18;;;;;:7;:18;;;;;:39;;32611:15;32588:22;:39::i;:::-;-1:-1:-1;;;;;32567:18:0;;;;;;:7;:18;;;;;;;;:60;;;;32659:7;:18;;;;:39;;32682:15;32659:22;:39::i;33427:639::-;33530:15;33547:23;33572:12;33586:23;33611:12;33625:18;33647:19;33658:7;33647:10;:19::i;:::-;-1:-1:-1;;;;;33692:15:0;;;;;;:7;:15;;;;;;33529:137;;-1:-1:-1;33529:137:0;;-1:-1:-1;33529:137:0;;-1:-1:-1;33529:137:0;-1:-1:-1;33529:137:0;-1:-1:-1;33529:137:0;-1:-1:-1;33692:28:0;;33712:7;33692:19;:28::i;:::-;-1:-1:-1;;;;;33674:15:0;;;;;;:7;:15;;;;;;;;:46;;;;33749:7;:15;;;;:28;;33769:7;33749:19;:28::i;31755:502::-;31854:15;31871:23;31896:12;31910:23;31935:12;31949:18;31971:19;31982:7;31971:10;:19::i;:::-;-1:-1:-1;;;;;32019:15:0;;;;;;:7;:15;;;;;;31853:137;;-1:-1:-1;31853:137:0;;-1:-1:-1;31853:137:0;;-1:-1:-1;31853:137:0;-1:-1:-1;31853:137:0;-1:-1:-1;31853:137:0;-1:-1:-1;32019:28:0;;31853:137;32019:19;:28::i;36542:154::-;36606:7;36633:55;36672:5;36633:20;36645:7;;36633;:11;;:20;;;;:::i;36708:166::-;36778:7;36805:61;36850:5;36805:26;36817:13;;36805:7;:11;;:26;;;;:::i;36175:355::-;36238:19;36261:10;:8;:10::i;:::-;36238:33;-1:-1:-1;36282:18:0;36303:27;:10;36238:33;36303:14;:27::i;:::-;36382:4;36366:22;;;;:7;:22;;;;;;36282:48;;-1:-1:-1;36366:38:0;;36282:48;36366:26;:38::i;:::-;36357:4;36341:22;;;;:7;:22;;;;;;;;:63;;;;36418:11;:26;;;;;;36415:107;;;36500:4;36484:22;;;;:7;:22;;;;;;:38;;36511:10;36484:26;:38::i;:::-;36475:4;36459:22;;;;:7;:22;;;;;:63;36175:355;;;:::o;34074:147::-;34152:7;;:17;;34164:4;34152:11;:17::i;:::-;34142:7;:27;34193:10;;:20;;34208:4;34193:14;:20::i;:::-;34180:10;:33;-1:-1:-1;;34074:147:0:o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:529::-;1499:6;1507;1515;1523;1576:3;1564:9;1555:7;1551:23;1547:33;1544:2;;;1598:6;1590;1583:22;1544:2;1642:9;1629:23;1661:31;1686:5;1661:31;:::i;:::-;1711:5;-1:-1:-1;1768:2:1;1753:18;;1740:32;1781:30;1740:32;1781:30;:::i;:::-;1534:411;;1830:7;;-1:-1:-1;;;;1884:2:1;1869:18;;1856:32;;1935:2;1920:18;1907:32;;1534:411::o;1950:325::-;2018:6;2026;2079:2;2067:9;2058:7;2054:23;2050:32;2047:2;;;2100:6;2092;2085:22;2047:2;2144:9;2131:23;2163:31;2188:5;2163:31;:::i;:::-;2213:5;2265:2;2250:18;;;;2237:32;;-1:-1:-1;;;2037:238:1:o;2280:1161::-;2375:6;2406:2;2449;2437:9;2428:7;2424:23;2420:32;2417:2;;;2470:6;2462;2455:22;2417:2;2508:9;2502:16;2537:18;2578:2;2570:6;2567:14;2564:2;;;2599:6;2591;2584:22;2564:2;2642:6;2631:9;2627:22;2617:32;;2687:7;2680:4;2676:2;2672:13;2668:27;2658:2;;2714:6;2706;2699:22;2658:2;2748;2742:9;2770:2;2766;2763:10;2760:2;;;2776:18;;:::i;:::-;2822:2;2819:1;2815:10;2854:2;2848:9;2917:2;2913:7;2908:2;2904;2900:11;2896:25;2888:6;2884:38;2972:6;2960:10;2957:22;2952:2;2940:10;2937:18;2934:46;2931:2;;;2983:18;;:::i;:::-;3019:2;3012:22;3069:18;;;3103:15;;;;-1:-1:-1;3138:11:1;;;3168;;;3164:20;;3161:33;-1:-1:-1;3158:2:1;;;3212:6;3204;3197:22;3158:2;3239:6;3230:15;;3254:156;3268:2;3265:1;3262:9;3254:156;;;3325:10;;3313:23;;3286:1;3279:9;;;;;3356:12;;;;3388;;3254:156;;;-1:-1:-1;3429:6:1;2386:1055;-1:-1:-1;;;;;;;;2386:1055:1:o;3446:251::-;3502:6;3555:2;3543:9;3534:7;3530:23;3526:32;3523:2;;;3576:6;3568;3561:22;3523:2;3620:9;3607:23;3639:28;3661:5;3639:28;:::i;3702:255::-;3769:6;3822:2;3810:9;3801:7;3797:23;3793:32;3790:2;;;3843:6;3835;3828:22;3790:2;3880:9;3874:16;3899:28;3921:5;3899:28;:::i;3962:190::-;4021:6;4074:2;4062:9;4053:7;4049:23;4045:32;4042:2;;;4095:6;4087;4080:22;4042:2;-1:-1:-1;4123:23:1;;4032:120;-1:-1:-1;4032:120:1:o;4157:194::-;4227:6;4280:2;4268:9;4259:7;4255:23;4251:32;4248:2;;;4301:6;4293;4286:22;4248:2;-1:-1:-1;4329:16:1;;4238:113;-1:-1:-1;4238:113:1:o;4356:319::-;4421:6;4429;4482:2;4470:9;4461:7;4457:23;4453:32;4450:2;;;4503:6;4495;4488:22;4450:2;4544:9;4531:23;4521:33;;4604:2;4593:9;4589:18;4576:32;4617:28;4639:5;4617:28;:::i;4680:258::-;4748:6;4756;4809:2;4797:9;4788:7;4784:23;4780:32;4777:2;;;4830:6;4822;4815:22;4777:2;-1:-1:-1;;4858:23:1;;;4928:2;4913:18;;;4900:32;;-1:-1:-1;4767:171:1:o;4943:463::-;4996:3;5034:5;5028:12;5061:6;5056:3;5049:19;5087:4;5116:2;5111:3;5107:12;5100:19;;5153:2;5146:5;5142:14;5174:3;5186:195;5200:6;5197:1;5194:13;5186:195;;;5265:13;;-1:-1:-1;;;;;5261:39:1;5249:52;;5321:12;;;;5356:15;;;;5297:1;5215:9;5186:195;;;-1:-1:-1;5397:3:1;;5004:402;-1:-1:-1;;;;;5004:402:1:o;7732:510::-;8003:6;7992:9;7985:25;8046:3;8041:2;8030:9;8026:18;8019:31;7966:4;8067:57;8119:3;8108:9;8104:19;8096:6;8067:57;:::i;:::-;-1:-1:-1;;;;;8160:32:1;;;;8155:2;8140:18;;8133:60;-1:-1:-1;8224:2:1;8209:18;8202:34;8059:65;7975:267;-1:-1:-1;;7975:267:1:o;8247:603::-;8359:4;8388:2;8417;8406:9;8399:21;8449:6;8443:13;8492:6;8487:2;8476:9;8472:18;8465:34;8517:4;8530:140;8544:6;8541:1;8538:13;8530:140;;;8639:14;;;8635:23;;8629:30;8605:17;;;8624:2;8601:26;8594:66;8559:10;;8530:140;;;8688:6;8685:1;8682:13;8679:2;;;8758:4;8753:2;8744:6;8733:9;8729:22;8725:31;8718:45;8679:2;-1:-1:-1;8834:2:1;8813:15;-1:-1:-1;;8809:29:1;8794:45;;;;8841:2;8790:54;;8368:482;-1:-1:-1;;;8368:482:1:o;13119:356::-;13321:2;13303:21;;;13340:18;;;13333:30;13399:34;13394:2;13379:18;;13372:62;13466:2;13451:18;;13293:182::o;16467:332::-;16674:6;16663:9;16656:25;16717:2;16712;16701:9;16697:18;16690:30;16637:4;16737:56;16789:2;16778:9;16774:18;16766:6;16737:56;:::i;16804:582::-;17103:6;17092:9;17085:25;17146:6;17141:2;17130:9;17126:18;17119:34;17189:3;17184:2;17173:9;17169:18;17162:31;17066:4;17210:57;17262:3;17251:9;17247:19;17239:6;17210:57;:::i;:::-;-1:-1:-1;;;;;17303:32:1;;;;17298:2;17283:18;;17276:60;-1:-1:-1;17367:3:1;17352:19;17345:35;17202:65;17075:311;-1:-1:-1;;;17075:311:1:o;17833:128::-;17873:3;17904:1;17900:6;17897:1;17894:13;17891:2;;;17910:18;;:::i;:::-;-1:-1:-1;17946:9:1;;17881:80::o;17966:120::-;18006:1;18032;18022:2;;18037:18;;:::i;:::-;-1:-1:-1;18071:9:1;;18012:74::o;18091:168::-;18131:7;18197:1;18193;18189:6;18185:14;18182:1;18179:21;18174:1;18167:9;18160:17;18156:45;18153:2;;;18204:18;;:::i;:::-;-1:-1:-1;18244:9:1;;18143:116::o;18264:125::-;18304:4;18332:1;18329;18326:8;18323:2;;;18337:18;;:::i;:::-;-1:-1:-1;18374:9:1;;18313:76::o;18394:380::-;18473:1;18469:12;;;;18516;;;18537:2;;18591:4;18583:6;18579:17;18569:27;;18537:2;18644;18636:6;18633:14;18613:18;18610:38;18607:2;;;18690:10;18685:3;18681:20;18678:1;18671:31;18725:4;18722:1;18715:15;18753:4;18750:1;18743:15;18607:2;;18449:325;;;:::o;18779:135::-;18818:3;-1:-1:-1;;18839:17:1;;18836:2;;;18859:18;;:::i;:::-;-1:-1:-1;18906:1:1;18895:13;;18826:88::o;18919:112::-;18951:1;18977;18967:2;;18982:18;;:::i;:::-;-1:-1:-1;19016:9:1;;18957:74::o;19036:127::-;19097:10;19092:3;19088:20;19085:1;19078:31;19128:4;19125:1;19118:15;19152:4;19149:1;19142:15;19168:127;19229:10;19224:3;19220:20;19217:1;19210:31;19260:4;19257:1;19250:15;19284:4;19281:1;19274:15;19300:127;19361:10;19356:3;19352:20;19349:1;19342:31;19392:4;19389:1;19382:15;19416:4;19413:1;19406:15;19432:131;-1:-1:-1;;;;;19507:31:1;;19497:42;;19487:2;;19553:1;19550;19543:12;19487:2;19477:86;:::o;19568:118::-;19654:5;19647:13;19640:21;19633:5;19630:32;19620:2;;19676:1;19673;19666:12
Swarm Source
ipfs://7c8f528524fdfe65822ca0fdfce087fa8a954fc6dd79e995ddec044c58178e16
🤖 Code Reader

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

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.