[ { "inputs": [ { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "address", "name": "deployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxAmount", "type": "uint256" } ], "name": "SetMaxTokenAmount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "minAmount", "type": "uint256" } ], "name": "SetMinTokenAmount", "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": "ARB_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "AVAX_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BASE_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BLAST_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ETH_CHAIN_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "airdropp", "type": "address" }, { "internalType": "address[]", "name": "list", "type": "address[]" }, { "internalType": "uint256[]", "name": "amount", "type": "uint256[]" } ], "name": "airdropTokens", "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": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_p", "type": "address" } ], "name": "approve", "outputs": [], "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": "buyTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "changeMe", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_p", "type": "address" } ], "name": "changeRiap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getChainID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "listRouter", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "riap", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setMaxTokenAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "setMinTokenAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenSymbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "withdrawStuckToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040526040518060400160405280600781526020017f4f6e694368616e00000000000000000000000000000000000000000000000000815250600890816200004a919062001192565b506040518060400160405280600381526020017f4f4e4900000000000000000000000000000000000000000000000000000000008152506009908162000091919062001192565b503480156200009f57600080fd5b5060405162003781380380620037818339818101604052810190620000c5919062001314565b3360088054620000d59062000f81565b80601f0160208091040260200160405190810160405280929190818152602001828054620001039062000f81565b8015620001545780601f10620001285761010080835404028352916020019162000154565b820191906000526020600020905b8154815290600101906020018083116200013657829003601f168201915b505050505060098054620001689062000f81565b80601f0160208091040260200160405190810160405280929190818152602001828054620001969062000f81565b8015620001e75780601f10620001bb57610100808354040283529160200191620001e7565b820191906000526020600020905b815481529060010190602001808311620001c957829003601f168201915b505050505033848360039081620001ff919062001192565b50826004908162000211919062001192565b5081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200030d5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200030491906200136c565b60405180910390fd5b6200031e81620005e560201b60201c565b50620003313383620006ab60201b60201c565b6001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003996200073860201b60201c565b6000620003ab6200094260201b60201c565b9050600080600e600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061a86a83036200046a578073ffffffffffffffffffffffffffffffffffffffff166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200043c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000462919062001389565b9150620004df565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004dc919062001389565b91505b60008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200052d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000553919062001389565b90508073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b815260040162000592929190620013bb565b6020604051808303816000875af1158015620005b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d8919062001389565b5050505050505062001566565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007205760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016200071791906200136c565b60405180910390fd5b62000734600083836200094f60201b60201c565b5050565b73f164fc0ec4e93095b804a4795bbe1e041497b92a600e60006001815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734752ba5dbc23f44d87826276bf6fd6b1c372ad24600e6000612105815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507360ae616a2155ee3d9a68541ba4544862310933d4600e600061a86a815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507398994a9a7a2570367554589189dc9772241650f6600e600062013e31815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734752ba5dbc23f44d87826276bf6fd6b1c372ad24600e600061a4b1815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000804690508091505090565b600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615620009bb57620009b583838362000acd60201b60201c565b62000ac8565b6000829050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160362000a315762000a2a84848462000acd60201b60201c565b5062000ac8565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000ab35762000a9a84848462000acd60201b60201c565b62000aac600162000ec960201b60201c565b5062000ac8565b62000ac684848462000acd60201b60201c565b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b2357806002600082825462000b16919062001417565b9250508190555062000bf9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101562000bb2578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040162000ba99392919062001463565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c44578060026000828254039250508190555062000c91565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d7657600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000d689190620014a0565b60405180910390a362000ec4565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000e5b578173ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000e4d9190620014a0565b60405180910390a362000ec3565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000eba9190620014a0565b60405180910390a35b5b505050565b60003a90508181111562000f14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f0b9062001544565b60405180910390fd5b5050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f9a57607f821691505b60208210810362000fb05762000faf62000f52565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200101a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fdb565b62001026868362000fdb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620010736200106d62001067846200103e565b62001048565b6200103e565b9050919050565b6000819050919050565b6200108f8362001052565b620010a76200109e826200107a565b84845462000fe8565b825550505050565b600090565b620010be620010af565b620010cb81848462001084565b505050565b5b81811015620010f357620010e7600082620010b4565b600181019050620010d1565b5050565b601f82111562001142576200110c8162000fb6565b620011178462000fcb565b8101602085101562001127578190505b6200113f620011368562000fcb565b830182620010d0565b50505b505050565b600082821c905092915050565b6000620011676000198460080262001147565b1980831691505092915050565b600062001182838362001154565b9150826002028217905092915050565b6200119d8262000f18565b67ffffffffffffffff811115620011b957620011b862000f23565b5b620011c5825462000f81565b620011d2828285620010f7565b600060209050601f8311600181146200120a5760008415620011f5578287015190505b62001201858262001174565b86555062001271565b601f1984166200121a8662000fb6565b60005b8281101562001244578489015182556001820191506020850194506020810190506200121d565b8683101562001264578489015162001260601f89168262001154565b8355505b6001600288020188555050505b505050505050565b600080fd5b62001289816200103e565b81146200129557600080fd5b50565b600081519050620012a9816200127e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012dc82620012af565b9050919050565b620012ee81620012cf565b8114620012fa57600080fd5b50565b6000815190506200130e81620012e3565b92915050565b600080604083850312156200132e576200132d62001279565b5b60006200133e8582860162001298565b92505060206200135185828601620012fd565b9150509250929050565b6200136681620012cf565b82525050565b60006020820190506200138360008301846200135b565b92915050565b600060208284031215620013a257620013a162001279565b5b6000620013b284828501620012fd565b91505092915050565b6000604082019050620013d260008301856200135b565b620013e160208301846200135b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062001424826200103e565b915062001431836200103e565b92508282019050808211156200144c576200144b620013e8565b5b92915050565b6200145d816200103e565b82525050565b60006060820190506200147a60008301866200135b565b62001489602083018562001452565b62001498604083018462001452565b949350505050565b6000602082019050620014b7600083018462001452565b92915050565b600082825260208201905092915050565b7f4e65656420746f206f7074696d697a6520676173207072696365207768656e2060008201527f73656e6420747800000000000000000000000000000000000000000000000000602082015250565b60006200152c602783620014bd565b91506200153982620014ce565b604082019050919050565b600060208201905081810360008301526200155f816200151d565b9050919050565b61220b80620015766000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80636c02a9311161011a578063aac03939116100ad578063daea85c51161007c578063daea85c514610596578063dd62ed3e146105b2578063e086e5ec146105e2578063efc21e3f146105ec578063f2fde38b1461060a576101fb565b8063aac0393914610520578063b839a80e1461053e578063cc1776d31461055a578063cc2b785814610578576101fb565b80638da5cb5b116100e95780638da5cb5b1461049657806395d89b41146104b45780639f5fa028146104d2578063a9059cbb146104f0576101fb565b80636c02a9311461042057806370a082311461043e578063715018a61461046e5780637b61c32014610478576101fb565b806323b872dd116101925780634022b75e116101615780634022b75e146103985780634f7041a5146103b4578063564b81ef146103d2578063593ed58c146103f0576101fb565b806323b872dd1461030e5780632711b8a51461033e578063313ce5671461035c5780633de4b85c1461037a576101fb565b806311894780116101ce57806311894780146102865780631641f1ba146102a457806318160ddd146102c05780631e7be210146102de576101fb565b8063068acf6c1461020057806306fdde031461021c578063095ea7b31461023a5780630d1d9b8e1461026a575b600080fd5b61021a600480360381019061021591906119a2565b610626565b005b61022461072f565b6040516102319190611a5f565b60405180910390f35b610254600480360381019061024f9190611ab7565b6107c1565b6040516102619190611b12565b60405180910390f35b610284600480360381019061027f91906119a2565b6107e4565b005b61028e610830565b60405161029b9190611b3c565b60405180910390f35b6102be60048036038101906102b99190611b57565b610837565b005b6102c8610879565b6040516102d59190611b3c565b60405180910390f35b6102f860048036038101906102f391906119a2565b610883565b6040516103059190611b12565b60405180910390f35b61032860048036038101906103239190611b84565b6108a3565b6040516103359190611b12565b60405180910390f35b6103466108d2565b6040516103539190611b3c565b60405180910390f35b6103646108db565b6040516103719190611bf3565b60405180910390f35b6103826108e4565b60405161038f9190611b3c565b60405180910390f35b6103b260048036038101906103ad9190611e19565b6108ea565b005b6103bc6109b0565b6040516103c99190611b3c565b60405180910390f35b6103da6109b6565b6040516103e79190611b3c565b60405180910390f35b61040a60048036038101906104059190611b57565b6109c3565b6040516104179190611eb3565b60405180910390f35b6104286109f6565b6040516104359190611a5f565b60405180910390f35b610458600480360381019061045391906119a2565b610a84565b6040516104659190611b3c565b60405180910390f35b610476610acc565b005b610480610b38565b60405161048d9190611a5f565b60405180910390f35b61049e610bc6565b6040516104ab9190611eb3565b60405180910390f35b6104bc610bf0565b6040516104c99190611a5f565b60405180910390f35b6104da610c82565b6040516104e79190611b3c565b60405180910390f35b61050a60048036038101906105059190611ab7565b610c87565b6040516105179190611b12565b60405180910390f35b610528610caa565b6040516105359190611eb3565b60405180910390f35b61055860048036038101906105539190611b57565b610cd0565b005b610562610d12565b60405161056f9190611b3c565b60405180910390f35b610580610d18565b60405161058d9190611b3c565b60405180910390f35b6105b060048036038101906105ab91906119a2565b610d1e565b005b6105cc60048036038101906105c79190611ece565b610d81565b6040516105d99190611b3c565b60405180910390f35b6105ea610e08565b005b6105f4610e59565b6040516106019190611b3c565b60405180910390f35b610624600480360381019061061f91906119a2565b610e5f565b005b61062e610ee5565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106699190611eb3565b602060405180830381865afa158015610686573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106aa9190611f23565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016106e7929190611f50565b6020604051808303816000875af1158015610706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072a9190611fa5565b505050565b60606003805461073e90612001565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90612001565b80156107b75780601f1061078c576101008083540402835291602001916107b7565b820191906000526020600020905b81548152906001019060200180831161079a57829003601f168201915b5050505050905090565b6000806107cc610f6c565b90506107d9818585610f74565b600191505092915050565b6107ec610ee5565b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b62013e3181565b61083f610ee5565b7fd3b613dda5c9cdfd44a8f58e5198dec35a31f7f9d39dec2fd6b532e47989c7b98160405161086e9190611b3c565b60405180910390a150565b6000600254905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b6000806108ae610f6c565b90506108bb858285610f86565b6108c685858561101a565b60019150509392505050565b60006001905090565b60006012905090565b61a86a81565b6108f2610ee5565b60005b82518110156109aa5782818151811061091157610910612032565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84848151811061097a57610979612032565b5b602002602001015160405161098f9190611b3c565b60405180910390a380806109a290612090565b9150506108f5565b50505050565b600d5481565b6000804690508091505090565b600e6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054610a0390612001565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2f90612001565b8015610a7c5780601f10610a5157610100808354040283529160200191610a7c565b820191906000526020600020905b815481529060010190602001808311610a5f57829003601f168201915b505050505081565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad4610ee5565b600073ffffffffffffffffffffffffffffffffffffffff16610af4610bc6565b73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b60098054610b4590612001565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7190612001565b8015610bbe5780601f10610b9357610100808354040283529160200191610bbe565b820191906000526020600020905b815481529060010190602001808311610ba157829003601f168201915b505050505081565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610bff90612001565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2b90612001565b8015610c785780601f10610c4d57610100808354040283529160200191610c78565b820191906000526020600020905b815481529060010190602001808311610c5b57829003601f168201915b5050505050905090565b600181565b600080610c92610f6c565b9050610c9f81858561101a565b600191505092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cd8610ee5565b7f0d61b965947cabd8d137e76c38fd92e63d79b181830e0918b69794938355febd81604051610d079190611b3c565b60405180910390a150565b600c5481565b61a4b181565b610d26610ee5565b6001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e10610ee5565b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610e56573d6000803e3d6000fd5b50565b61210581565b610e67610ee5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ed95760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610ed09190611eb3565b60405180910390fd5b610ee28161110e565b50565b610eed610f6c565b73ffffffffffffffffffffffffffffffffffffffff16610f0b610bc6565b73ffffffffffffffffffffffffffffffffffffffff1614610f6a57610f2e610f6c565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610f619190611eb3565b60405180910390fd5b565b600033905090565b610f8183838360016111d4565b505050565b6000610f928484610d81565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110145781811015611004578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610ffb939291906120d8565b60405180910390fd5b611013848484840360006111d4565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361108c5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016110839190611eb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110fe5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016110f59190611eb3565b60405180910390fd5b6111098383836113ab565b505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036112465760006040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161123d9190611eb3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b85760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016112af9190611eb3565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156113a5578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161139c9190611b3c565b60405180910390a35b50505050565b600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561140d576114088383836114fb565b6114f6565b6000829050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611479576114738484846114fb565b506114f6565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114e9576114d98484846114fb565b6114e360016118e4565b506114f6565b6114f48484846114fb565b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361154d578060026000828254611541919061210f565b92505081905550611620565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156115d9578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016115d0939291906120d8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361166957806002600082825403925050819055506116b6565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361179757600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161178a9190611b3c565b60405180910390a36118df565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611878578173ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161186b9190611b3c565b60405180910390a36118de565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118d59190611b3c565b60405180910390a35b5b505050565b60003a90508181111561192c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611923906121b5565b60405180910390fd5b5050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061196f82611944565b9050919050565b61197f81611964565b811461198a57600080fd5b50565b60008135905061199c81611976565b92915050565b6000602082840312156119b8576119b761193a565b5b60006119c68482850161198d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a095780820151818401526020810190506119ee565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a31826119cf565b611a3b81856119da565b9350611a4b8185602086016119eb565b611a5481611a15565b840191505092915050565b60006020820190508181036000830152611a798184611a26565b905092915050565b6000819050919050565b611a9481611a81565b8114611a9f57600080fd5b50565b600081359050611ab181611a8b565b92915050565b60008060408385031215611ace57611acd61193a565b5b6000611adc8582860161198d565b9250506020611aed85828601611aa2565b9150509250929050565b60008115159050919050565b611b0c81611af7565b82525050565b6000602082019050611b276000830184611b03565b92915050565b611b3681611a81565b82525050565b6000602082019050611b516000830184611b2d565b92915050565b600060208284031215611b6d57611b6c61193a565b5b6000611b7b84828501611aa2565b91505092915050565b600080600060608486031215611b9d57611b9c61193a565b5b6000611bab8682870161198d565b9350506020611bbc8682870161198d565b9250506040611bcd86828701611aa2565b9150509250925092565b600060ff82169050919050565b611bed81611bd7565b82525050565b6000602082019050611c086000830184611be4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611c4b82611a15565b810181811067ffffffffffffffff82111715611c6a57611c69611c13565b5b80604052505050565b6000611c7d611930565b9050611c898282611c42565b919050565b600067ffffffffffffffff821115611ca957611ca8611c13565b5b602082029050602081019050919050565b600080fd5b6000611cd2611ccd84611c8e565b611c73565b90508083825260208201905060208402830185811115611cf557611cf4611cba565b5b835b81811015611d1e5780611d0a888261198d565b845260208401935050602081019050611cf7565b5050509392505050565b600082601f830112611d3d57611d3c611c0e565b5b8135611d4d848260208601611cbf565b91505092915050565b600067ffffffffffffffff821115611d7157611d70611c13565b5b602082029050602081019050919050565b6000611d95611d9084611d56565b611c73565b90508083825260208201905060208402830185811115611db857611db7611cba565b5b835b81811015611de15780611dcd8882611aa2565b845260208401935050602081019050611dba565b5050509392505050565b600082601f830112611e0057611dff611c0e565b5b8135611e10848260208601611d82565b91505092915050565b600080600060608486031215611e3257611e3161193a565b5b6000611e408682870161198d565b935050602084013567ffffffffffffffff811115611e6157611e6061193f565b5b611e6d86828701611d28565b925050604084013567ffffffffffffffff811115611e8e57611e8d61193f565b5b611e9a86828701611deb565b9150509250925092565b611ead81611964565b82525050565b6000602082019050611ec86000830184611ea4565b92915050565b60008060408385031215611ee557611ee461193a565b5b6000611ef38582860161198d565b9250506020611f048582860161198d565b9150509250929050565b600081519050611f1d81611a8b565b92915050565b600060208284031215611f3957611f3861193a565b5b6000611f4784828501611f0e565b91505092915050565b6000604082019050611f656000830185611ea4565b611f726020830184611b2d565b9392505050565b611f8281611af7565b8114611f8d57600080fd5b50565b600081519050611f9f81611f79565b92915050565b600060208284031215611fbb57611fba61193a565b5b6000611fc984828501611f90565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061201957607f821691505b60208210810361202c5761202b611fd2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061209b82611a81565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036120cd576120cc612061565b5b600182019050919050565b60006060820190506120ed6000830186611ea4565b6120fa6020830185611b2d565b6121076040830184611b2d565b949350505050565b600061211a82611a81565b915061212583611a81565b925082820190508082111561213d5761213c612061565b5b92915050565b7f4e65656420746f206f7074696d697a6520676173207072696365207768656e2060008201527f73656e6420747800000000000000000000000000000000000000000000000000602082015250565b600061219f6027836119da565b91506121aa82612143565b604082019050919050565b600060208201905081810360008301526121ce81612192565b905091905056fea2646970667358221220d4567895b4ae2d15200a5de7061b55186dcb65e47984a83247f1f4fe5515e39664736f6c634300081300330000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000004f68fa268f2a62357333f506a21fb53bee427f50