[ { "inputs": [ { "internalType": "address", "name": "_liquidityPool", "type": "address" }, { "internalType": "address", "name": "_marketingWallet", "type": "address" }, { "internalType": "address", "name": "_treasuryWallet", "type": "address" }, { "internalType": "address", "name": "_priceOracle", "type": "address" } ], "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": "status", "type": "bool" } ], "name": "CircuitBreakerStatusChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "CooldownStatusChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "transferAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "liquidityFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "burnFeeAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sendAmount", "type": "uint256" } ], "name": "DebugTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "liquidityAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "marketingAmount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "treasuryAmount", "type": "uint256" } ], "name": "FeesDistributed", "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": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "MAX_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TIME_LOCK_DURATION", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "activateCircuitBreaker", "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": "burnFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "burnFeeTimeLock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "circuitBreakerActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cooldown", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cooldownBlocks", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cooldownEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "gasLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTWAPPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "highLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "highLiquidityFeeTimeLock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_burnFee", "type": "uint256" } ], "name": "initiateBurnFeeChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_highLiquidityFee", "type": "uint256" } ], "name": "initiateHighLiquidityFeeChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_lowLiquidityFee", "type": "uint256" } ], "name": "initiateLowLiquidityFeeChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isExcludedFromFee", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "largeTxThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "liquidityPool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lowLiquidityFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lowLiquidityFeeTimeLock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "priceOracle", "outputs": [ { "internalType": "contract AggregatorV3Interface", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setBurnFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_cooldownBlocks", "type": "uint256" } ], "name": "setCooldownBlocks", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" } ], "name": "setCooldownEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_gasLimit", "type": "uint256" } ], "name": "setGasLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setHighLiquidityFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_largeTxThreshold", "type": "uint256" } ], "name": "setLargeTxThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setLowLiquidityFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "slippageTolerance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "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": "treasuryWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526008600a556003600b556001600c5569010f0cf064dd59200000600d556003600e556101f4600f556001601160016101000a81548160ff0219169083151502179055503480156200005457600080fd5b5060405162003f3238038062003f3283398181016040528101906200007a9190620006d8565b6040518060400160405280600e81526020017f5368696261507265736964656e740000000000000000000000000000000000008152506040518060400160405280600681526020017f53484942343700000000000000000000000000000000000000000000000000008152508160039081620000f79190620009c4565b508060049081620001099190620009c4565b5050506200012c620001206200042960201b60201c565b6200043160201b60201c565b6000600560146101000a81548160ff0219169083151502179055506001600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603620001c1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001b89062000b0c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000233576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200022a9062000b7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620002a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029c9062000bf0565b60405180910390fd5b83600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003c7336b97dd7d2157478b2e98000000620004f760201b60201c565b6001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505062000d1c565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005609062000c62565b60405180910390fd5b6200057d600083836200066460201b60201c565b806002600082825462000591919062000cb3565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000644919062000cff565b60405180910390a362000660600083836200066960201b60201c565b5050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006a08262000673565b9050919050565b620006b28162000693565b8114620006be57600080fd5b50565b600081519050620006d281620006a7565b92915050565b60008060008060808587031215620006f557620006f46200066e565b5b60006200070587828801620006c1565b94505060206200071887828801620006c1565b93505060406200072b87828801620006c1565b92505060606200073e87828801620006c1565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007cc57607f821691505b602082108103620007e257620007e162000784565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200084c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200080d565b6200085886836200080d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008a56200089f620008998462000870565b6200087a565b62000870565b9050919050565b6000819050919050565b620008c18362000884565b620008d9620008d082620008ac565b8484546200081a565b825550505050565b600090565b620008f0620008e1565b620008fd818484620008b6565b505050565b5b81811015620009255762000919600082620008e6565b60018101905062000903565b5050565b601f82111562000974576200093e81620007e8565b6200094984620007fd565b8101602085101562000959578190505b620009716200096885620007fd565b83018262000902565b50505b505050565b600082821c905092915050565b6000620009996000198460080262000979565b1980831691505092915050565b6000620009b4838362000986565b9150826002028217905092915050565b620009cf826200074a565b67ffffffffffffffff811115620009eb57620009ea62000755565b5b620009f78254620007b3565b62000a0482828562000929565b600060209050601f83116001811462000a3c576000841562000a27578287015190505b62000a338582620009a6565b86555062000aa3565b601f19841662000a4c86620007e8565b60005b8281101562000a765784890151825560018201915060208501945060208101905062000a4f565b8683101562000a96578489015162000a92601f89168262000986565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f496e76616c6964206c697175696469747920706f6f6c20616464726573730000600082015250565b600062000af4601e8362000aab565b915062000b018262000abc565b602082019050919050565b6000602082019050818103600083015262000b278162000ae5565b9050919050565b7f496e76616c6964206d61726b6574696e672077616c6c65742061646472657373600082015250565b600062000b6660208362000aab565b915062000b738262000b2e565b602082019050919050565b6000602082019050818103600083015262000b998162000b57565b9050919050565b7f496e76616c69642074726561737572792077616c6c6574206164647265737300600082015250565b600062000bd8601f8362000aab565b915062000be58262000ba0565b602082019050919050565b6000602082019050818103600083015262000c0b8162000bc9565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c4a601f8362000aab565b915062000c578262000c12565b602082019050919050565b6000602082019050818103600083015262000c7d8162000c3b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000cc08262000870565b915062000ccd8362000870565b925082820190508082111562000ce85762000ce762000c84565b5b92915050565b62000cf98162000870565b82525050565b600060208201905062000d16600083018462000cee565b92915050565b6132068062000d2c6000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80638ca74c2811610182578063b222e0c2116100e9578063e1a9790d116100a2578063f609844d1161007c578063f609844d14610855578063f68016b714610873578063fa76c10614610891578063fce589d8146108af576102d6565b8063e1a9790d14610813578063ee7d72b41461081d578063f2fde38b14610839576102d6565b8063b222e0c21461073d578063c30b044a1461076d578063d03153aa1461078b578063d262271d146107a9578063dd62ed3e146107c7578063df8408fe146107f7576102d6565b8063a457c2d71161013b578063a457c2d71461067b578063a619dfb0146106ab578063a9059cbb146106c9578063a985ceef146106f9578063ac4d5fa714610717578063af13a38b14610721576102d6565b80638ca74c28146105cb5780638da5cb5b146105e957806395d89b411461060757806397656614146106255780639e7c2db914610643578063a0131ca21461065f576102d6565b806339509351116102415780635c975abb116101fa578063715018a6116101d4578063715018a61461057b57806375f0a8741461058557806380687781146105a35780638456cb59146105c1576102d6565b80635c975abb1461050f578063665a11ca1461052d57806370a082311461054b576102d6565b806339509351146104615780633f4ba83a146104915780634626402b1461049b5780634b44e16b146104b95780635342acb4146104c35780635932ead1146104f3576102d6565b806323b872dd1161029357806323b872dd1461039d578063250a94fc146103cd5780632630c12f146103eb5780632a845b0614610409578063313ce5671461042557806332cb6b0c14610443576102d6565b806306fdde03146102db578063095ea7b3146102f95780630baa9ed6146103295780630d3086171461034757806314626dc61461036357806318160ddd1461037f575b600080fd5b6102e36108cd565b6040516102f0919061200d565b60405180910390f35b610313600480360381019061030e91906120c8565b61095f565b6040516103209190612123565b60405180910390f35b610331610982565b60405161033e919061214d565b60405180910390f35b610361600480360381019061035c9190612168565b610988565b005b61037d60048036038101906103789190612168565b6109f3565b005b610387610a05565b604051610394919061214d565b60405180910390f35b6103b760048036038101906103b29190612195565b610a0f565b6040516103c49190612123565b60405180910390f35b6103d5610a3e565b6040516103e2919061214d565b60405180910390f35b6103f3610a44565b6040516104009190612247565b60405180910390f35b610423600480360381019061041e9190612168565b610a6a565b005b61042d610a7c565b60405161043a919061227e565b60405180910390f35b61044b610a85565b604051610458919061214d565b60405180910390f35b61047b600480360381019061047691906120c8565b610a95565b6040516104889190612123565b60405180910390f35b610499610acc565b005b6104a3610ade565b6040516104b091906122a8565b60405180910390f35b6104c1610b04565b005b6104dd60048036038101906104d891906122c3565b610b5b565b6040516104ea9190612123565b60405180910390f35b61050d6004803603810190610508919061231c565b610b7b565b005b610517610bd7565b6040516105249190612123565b60405180910390f35b610535610bee565b60405161054291906122a8565b60405180910390f35b610565600480360381019061056091906122c3565b610c14565b604051610572919061214d565b60405180910390f35b610583610c5c565b005b61058d610c70565b60405161059a91906122a8565b60405180910390f35b6105ab610c96565b6040516105b8919061214d565b60405180910390f35b6105c9610c9d565b005b6105d3610caf565b6040516105e0919061214d565b60405180910390f35b6105f1610cb5565b6040516105fe91906122a8565b60405180910390f35b61060f610cdf565b60405161061c919061200d565b60405180910390f35b61062d610d71565b60405161063a919061214d565b60405180910390f35b61065d6004803603810190610658919061231c565b610d77565b005b61067960048036038101906106749190612168565b610dd3565b005b610695600480360381019061069091906120c8565b610e3e565b6040516106a29190612123565b60405180910390f35b6106b3610eb5565b6040516106c0919061214d565b60405180910390f35b6106e360048036038101906106de91906120c8565b610ebb565b6040516106f09190612123565b60405180910390f35b610701611248565b60405161070e9190612123565b60405180910390f35b61071f61125b565b005b61073b60048036038101906107369190612168565b6112b2565b005b610757600480360381019061075291906122c3565b61131d565b604051610764919061214d565b60405180910390f35b610775611335565b604051610782919061214d565b60405180910390f35b61079361133b565b6040516107a0919061214d565b60405180910390f35b6107b1611341565b6040516107be919061214d565b60405180910390f35b6107e160048036038101906107dc9190612349565b6113e2565b6040516107ee919061214d565b60405180910390f35b610811600480360381019061080c9190612389565b611469565b005b61081b6114cc565b005b61083760048036038101906108329190612168565b611523565b005b610853600480360381019061084e91906122c3565b611535565b005b61085d6115b8565b60405161086a9190612123565b60405180910390f35b61087b6115cb565b604051610888919061214d565b60405180910390f35b6108996115d1565b6040516108a6919061214d565b60405180910390f35b6108b76115d7565b6040516108c4919061214d565b60405180910390f35b6060600380546108dc906123f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610908906123f8565b80156109555780601f1061092a57610100808354040283529160200191610955565b820191906000526020600020905b81548152906001019060200180831161093857829003601f168201915b5050505050905090565b60008061096a6115dd565b90506109778185856115e5565b600191505092915050565b600e5481565b6109906117ae565b60038111156109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90612475565b60405180910390fd5b80600b8190555062015180426109ea91906124c4565b60138190555050565b6109fb6117ae565b80600e8190555050565b6000600254905090565b600080610a1a6115dd565b9050610a2785828561182c565b610a328585856118b8565b60019150509392505050565b600d5481565b601160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a726117ae565b80600d8190555050565b60006012905090565b6b97dd7d2157478b2e9800000081565b600080610aa06115dd565b9050610ac1818585610ab285896113e2565b610abc91906124c4565b6115e5565b600191505092915050565b610ad46117ae565b610adc611b2e565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b0c6117ae565b601454421015610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890612544565b60405180910390fd5b6000601481905550565b60156020528060005260406000206000915054906101000a900460ff1681565b610b836117ae565b80601160016101000a81548160ff0219169083151502179055507f6a53d6c83a7a55d7a07bd490493fceb559161cce588908714e497e54044777d981604051610bcc9190612123565b60405180910390a150565b6000600560149054906101000a900460ff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c646117ae565b610c6e6000611b91565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6201518081565b610ca56117ae565b610cad611c57565b565b600a5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610cee906123f8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1a906123f8565b8015610d675780601f10610d3c57610100808354040283529160200191610d67565b820191906000526020600020905b815481529060010190602001808311610d4a57829003601f168201915b5050505050905090565b60145481565b610d7f6117ae565b80601160006101000a81548160ff0219169083151502179055507f9439de28a33a095f411ba9c2644793737a7ced4767fd9dc0e1e02aeaaeaebdb281604051610dc89190612123565b60405180910390a150565b610ddb6117ae565b6008811115610e1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e16906125b0565b60405180910390fd5b80600a819055506201518042610e3591906124c4565b60128190555050565b600080610e496115dd565b90506000610e5782866113e2565b905083811015610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9390612642565b60405180910390fd5b610ea982868684036115e5565b60019250505092915050565b600b5481565b6000610ec5611cba565b601160009054906101000a900460ff1615610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c906126ae565b60405180910390fd5b610f1d611d04565b60008211610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790612740565b60405180910390fd5b81610f6a33610c14565b1015610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa2906127d2565b60405180910390fd5b601160019054906101000a900460ff161561104357601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054431015611042576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110399061283e565b60405180910390fd5b5b6000600d54831061106f576064600a548461105e919061285e565b61106891906128cf565b905061108c565b6064600b548461107f919061285e565b61108991906128cf565b90505b60006064600c548561109e919061285e565b6110a891906128cf565b905060008183866110b99190612900565b6110c39190612900565b90507f2559b92196164f915f0cc4a1b3fea559f87c36865860bf8fa1e79f9f0d3edff7858484846040516110fa9493929190612934565b60405180910390a160008311156111395761113833600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856118b8565b5b60008211156111845761114c3383611d53565b7f6ef4855b666dcc7884561072e4358b28dfe01feb1b7f4dcebc00e62d50394ac78260405161117b919061214d565b60405180910390a15b61118f3387836118b8565b600e544361119d91906124c4565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f312c5308f42848705a866c73dec11fd0783c2d64aac6a97e94467062ad3f40588360028561120f91906128cf565b60028661121c91906128cf565b60405161122b93929190612979565b60405180910390a160019350505050611242611f20565b92915050565b601160019054906101000a900460ff1681565b6112636117ae565b6012544210156112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f90612544565b60405180910390fd5b6000601281905550565b6112ba6117ae565b60038111156112fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f5906129fc565b60405180910390fd5b80600c81905550620151804261131491906124c4565b60148190555050565b60166020528060005260406000206000915090505481565b60125481565b600f5481565b600080601160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156113b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d59190612aa9565b5050509150508091505090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114716117ae565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114d46117ae565b601354421015611519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151090612544565b60405180910390fd5b6000601381905550565b61152b6117ae565b8060108190555050565b61153d6117ae565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a390612b96565b60405180910390fd5b6115b581611b91565b50565b601160009054906101000a900460ff1681565b60105481565b60135481565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164b90612c28565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba90612cba565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117a1919061214d565b60405180910390a3505050565b6117b66115dd565b73ffffffffffffffffffffffffffffffffffffffff166117d4610cb5565b73ffffffffffffffffffffffffffffffffffffffff161461182a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182190612d26565b60405180910390fd5b565b600061183884846113e2565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118b257818110156118a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189b90612d92565b60405180910390fd5b6118b184848484036115e5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e90612e24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198d90612eb6565b60405180910390fd5b6119a1838383611f2a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e90612f48565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b15919061214d565b60405180910390a3611b28848484611f2f565b50505050565b611b36611f34565b6000600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b7a6115dd565b604051611b8791906122a8565b60405180910390a1565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611c5f611cba565b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611ca36115dd565b604051611cb091906122a8565b60405180910390a1565b611cc2610bd7565b15611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612fb4565b60405180910390fd5b565b600260065403611d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4090613020565b60405180910390fd5b6002600681905550565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db9906130b2565b60405180910390fd5b611dce82600083611f2a565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b90613144565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f07919061214d565b60405180910390a3611f1b83600084611f2f565b505050565b6001600681905550565b505050565b505050565b611f3c610bd7565b611f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f72906131b0565b60405180910390fd5b565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fb7578082015181840152602081019050611f9c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fdf82611f7d565b611fe98185611f88565b9350611ff9818560208601611f99565b61200281611fc3565b840191505092915050565b600060208201905081810360008301526120278184611fd4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061205f82612034565b9050919050565b61206f81612054565b811461207a57600080fd5b50565b60008135905061208c81612066565b92915050565b6000819050919050565b6120a581612092565b81146120b057600080fd5b50565b6000813590506120c28161209c565b92915050565b600080604083850312156120df576120de61202f565b5b60006120ed8582860161207d565b92505060206120fe858286016120b3565b9150509250929050565b60008115159050919050565b61211d81612108565b82525050565b60006020820190506121386000830184612114565b92915050565b61214781612092565b82525050565b6000602082019050612162600083018461213e565b92915050565b60006020828403121561217e5761217d61202f565b5b600061218c848285016120b3565b91505092915050565b6000806000606084860312156121ae576121ad61202f565b5b60006121bc8682870161207d565b93505060206121cd8682870161207d565b92505060406121de868287016120b3565b9150509250925092565b6000819050919050565b600061220d61220861220384612034565b6121e8565b612034565b9050919050565b600061221f826121f2565b9050919050565b600061223182612214565b9050919050565b61224181612226565b82525050565b600060208201905061225c6000830184612238565b92915050565b600060ff82169050919050565b61227881612262565b82525050565b6000602082019050612293600083018461226f565b92915050565b6122a281612054565b82525050565b60006020820190506122bd6000830184612299565b92915050565b6000602082840312156122d9576122d861202f565b5b60006122e78482850161207d565b91505092915050565b6122f981612108565b811461230457600080fd5b50565b600081359050612316816122f0565b92915050565b6000602082840312156123325761233161202f565b5b600061234084828501612307565b91505092915050565b600080604083850312156123605761235f61202f565b5b600061236e8582860161207d565b925050602061237f8582860161207d565b9150509250929050565b600080604083850312156123a05761239f61202f565b5b60006123ae8582860161207d565b92505060206123bf85828601612307565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061241057607f821691505b602082108103612423576124226123c9565b5b50919050565b7f4c6f77206c69717569646974792066656520746f6f2068696768000000000000600082015250565b600061245f601a83611f88565b915061246a82612429565b602082019050919050565b6000602082019050818103600083015261248e81612452565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006124cf82612092565b91506124da83612092565b92508282019050808211156124f2576124f1612495565b5b92915050565b7f54696d65206c6f636b2061637469766500000000000000000000000000000000600082015250565b600061252e601083611f88565b9150612539826124f8565b602082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b7f48696768206c69717569646974792066656520746f6f20686967680000000000600082015250565b600061259a601b83611f88565b91506125a582612564565b602082019050919050565b600060208201905081810360008301526125c98161258d565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061262c602583611f88565b9150612637826125d0565b604082019050919050565b6000602082019050818103600083015261265b8161261f565b9050919050565b7f4369726375697420627265616b65722069732061637469766500000000000000600082015250565b6000612698601983611f88565b91506126a382612662565b602082019050919050565b600060208201905081810360008301526126c78161268b565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061272a602983611f88565b9150612735826126ce565b604082019050919050565b600060208201905081810360008301526127598161271d565b9050919050565b7f496e73756666696369656e742062616c616e636520666f72207472616e73666560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006127bc602183611f88565b91506127c782612760565b604082019050919050565b600060208201905081810360008301526127eb816127af565b9050919050565b7f436f6f6c646f776e20706572696f642061637469766500000000000000000000600082015250565b6000612828601683611f88565b9150612833826127f2565b602082019050919050565b600060208201905081810360008301526128578161281b565b9050919050565b600061286982612092565b915061287483612092565b925082820261288281612092565b9150828204841483151761289957612898612495565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006128da82612092565b91506128e583612092565b9250826128f5576128f46128a0565b5b828204905092915050565b600061290b82612092565b915061291683612092565b925082820390508181111561292e5761292d612495565b5b92915050565b6000608082019050612949600083018761213e565b612956602083018661213e565b612963604083018561213e565b612970606083018461213e565b95945050505050565b600060608201905061298e600083018661213e565b61299b602083018561213e565b6129a8604083018461213e565b949350505050565b7f4275726e2066656520746f6f2068696768000000000000000000000000000000600082015250565b60006129e6601183611f88565b91506129f1826129b0565b602082019050919050565b60006020820190508181036000830152612a15816129d9565b9050919050565b600069ffffffffffffffffffff82169050919050565b612a3b81612a1c565b8114612a4657600080fd5b50565b600081519050612a5881612a32565b92915050565b6000819050919050565b612a7181612a5e565b8114612a7c57600080fd5b50565b600081519050612a8e81612a68565b92915050565b600081519050612aa38161209c565b92915050565b600080600080600060a08688031215612ac557612ac461202f565b5b6000612ad388828901612a49565b9550506020612ae488828901612a7f565b9450506040612af588828901612a94565b9350506060612b0688828901612a94565b9250506080612b1788828901612a49565b9150509295509295909350565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b80602683611f88565b9150612b8b82612b24565b604082019050919050565b60006020820190508181036000830152612baf81612b73565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c12602483611f88565b9150612c1d82612bb6565b604082019050919050565b60006020820190508181036000830152612c4181612c05565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ca4602283611f88565b9150612caf82612c48565b604082019050919050565b60006020820190508181036000830152612cd381612c97565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d10602083611f88565b9150612d1b82612cda565b602082019050919050565b60006020820190508181036000830152612d3f81612d03565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612d7c601d83611f88565b9150612d8782612d46565b602082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e0e602583611f88565b9150612e1982612db2565b604082019050919050565b60006020820190508181036000830152612e3d81612e01565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612ea0602383611f88565b9150612eab82612e44565b604082019050919050565b60006020820190508181036000830152612ecf81612e93565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612f32602683611f88565b9150612f3d82612ed6565b604082019050919050565b60006020820190508181036000830152612f6181612f25565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000612f9e601083611f88565b9150612fa982612f68565b602082019050919050565b60006020820190508181036000830152612fcd81612f91565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b600061300a601f83611f88565b915061301582612fd4565b602082019050919050565b6000602082019050818103600083015261303981612ffd565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061309c602183611f88565b91506130a782613040565b604082019050919050565b600060208201905081810360008301526130cb8161308f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061312e602283611f88565b9150613139826130d2565b604082019050919050565b6000602082019050818103600083015261315d81613121565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061319a601483611f88565b91506131a582613164565b602082019050919050565b600060208201905081810360008301526131c98161318d565b905091905056fea2646970667358221220805381486d95e333f004881911d4e88869a60f23bed9f986e291369a5f110cfa64736f6c63430008130033000000000000000000000000c886a6e1b75e28d58a6204aad89d7ea0073bf96a0000000000000000000000008262599fd9424010501dadbe289c92ee67e9e6b20000000000000000000000003e4f691ab65a011617848a43354dd7873c40f7960000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419