Loading
[ { "inputs": [ { "internalType": "address", "name": "gateway_", "type": "address" }, { "internalType": "address", "name": "gasService_", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "uint256", "name": "minGas_", "type": "uint256" }, { "internalType": "uint256", "name": "platformFee_", "type": "uint256" }, { "internalType": "address", "name": "upchargeFeeReceiver_", "type": "address" }, { "internalType": "string", "name": "sourceChain_", "type": "string" }, { "internalType": "string", "name": "sourceAddress_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidAddress", "type": "error" }, { "inputs": [], "name": "NotApprovedByGateway", "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": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnerSet", "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": "FEE_DENOMINATOR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TOTAL_SUPPLY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "internalType": "uint256", "name": "logIndex", "type": "uint256" }, { "internalType": "address", "name": "refundAddress", "type": "address" } ], "name": "addNativeExpressGas", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "internalType": "uint256", "name": "logIndex", "type": "uint256" }, { "internalType": "address", "name": "refundAddress", "type": "address" } ], "name": "addNativeGas", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "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": [], "name": "autoTrigger", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "bridgeBack", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "bridgingBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "changeOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes", "name": "payload", "type": "bytes" } ], "name": "execute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "commandId", "type": "bytes32" }, { "internalType": "string", "name": "sourceChain", "type": "string" }, { "internalType": "string", "name": "sourceAddress", "type": "string" }, { "internalType": "bytes", "name": "payload", "type": "bytes" }, { "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "executeWithToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "feeRecipient", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gasService", "outputs": [ { "internalType": "contract IAxelarGasService", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gateway", "outputs": [ { "internalType": "contract IAxelarGateway", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getTax", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minGas", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "permissions", "outputs": [ { "internalType": "bool", "name": "isFeeExempt", "type": "bool" }, { "internalType": "bool", "name": "isLiquidityPool", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "platformFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "autoTrigger_", "type": "bool" } ], "name": "setAutoTrigger", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "bridgingBlocked_", "type": "bool" } ], "name": "setBridgingBlocked", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "buyFee_", "type": "uint256" } ], "name": "setBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isFeeExempt", "type": "bool" } ], "name": "setFeeExempt", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "feeRecipient_", "type": "address" } ], "name": "setFeeRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isLiquidityPool", "type": "bool" } ], "name": "setLiquidityPool", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxTotalSupply_", "type": "uint256" } ], "name": "setMaxTotalSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "minGas_", "type": "uint256" } ], "name": "setMinGas", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "platformFee_", "type": "uint256" } ], "name": "setPlatformFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sellFee_", "type": "uint256" } ], "name": "setSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "transferFee_", "type": "uint256" } ], "name": "setTransferFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "upchargeFeeReceiver_", "type": "address" } ], "name": "setUpchargeFeeReceiver", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sourceAddress", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sourceChain", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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": [], "name": "transferFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "name": "upchargeFeeReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawETH", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token_", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawForeignToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60e06040526103e8600c556103e8600d555f600e556a4e950851be0c2ebf0000006010553480156200002f575f80fd5b50604051620029d9380380620029d9833981016040819052620000529162000268565b896001600160a01b0381166200007b5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03166080525f80546001600160a01b0319163390811782556040519091907f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a735908290a36002620000d3898262000404565b506003620000e2888262000404565b5060ff861660a0526001600160a01b0389811660c05260088690556009859055600a80546001600160a01b031916918516919091179055600662000127838262000404565b50600762000136828262000404565b506040515f80825233917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050505050505050620004cc565b80516001600160a01b038116811462000194575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620001bd575f80fd5b81516001600160401b0380821115620001da57620001da62000199565b604051601f8301601f19908116603f0116810190828211818310171562000205576200020562000199565b8160405283815260209250868385880101111562000221575f80fd5b5f91505b8382101562000244578582018301518183018401529082019062000225565b5f93810190920192909252949350505050565b805160ff8116811462000194575f80fd5b5f805f805f805f805f806101408b8d03121562000283575f80fd5b6200028e8b6200017d565b99506200029e60208c016200017d565b60408c01519099506001600160401b0380821115620002bb575f80fd5b620002c98e838f01620001ad565b995060608d0151915080821115620002df575f80fd5b620002ed8e838f01620001ad565b9850620002fd60808e0162000257565b975060a08d0151965060c08d015195506200031b60e08e016200017d565b94506101008d015191508082111562000332575f80fd5b620003408e838f01620001ad565b93506101208d015191508082111562000357575f80fd5b50620003668d828e01620001ad565b9150509295989b9194979a5092959850565b600181811c908216806200038d57607f821691505b602082108103620003ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003ff575f81815260208120601f850160051c81016020861015620003da5750805b601f850160051c820191505b81811015620003fb57828155600101620003e6565b5050505b505050565b81516001600160401b0381111562000420576200042062000199565b620004388162000431845462000378565b84620003b2565b602080601f8311600181146200046e575f8415620004565750858301515b5f19600386901b1c1916600185901b178555620003fb565b5f85815260208120601f198616915b828110156200049e578886015182559484019460019091019084016200047d565b5085821015620004bc57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516124b8620005215f395f81816105b001528181610e06015281816110f701526112c601525f61049d01525f818161037801528181610a9d01528181610d25015261134901526124b85ff3fe608060405260043610610280575f3560e01c80636a22d8cc11610155578063b34a3060116100be578063d479e97411610078578063d479e974146107be578063d73792a9146107d1578063d7ad21ac146107e6578063dd62ed3e14610805578063e74b981b14610849578063f558eb0514610868575f80fd5b8063b34a306014610719578063b94e8df214610739578063be37757a14610758578063c29c669a1461076d578063cb64ef1b1461078c578063cd433ada146107ab575f80fd5b806395d89b411161010f57806395d89b411461067f578063a6f9dae114610693578063a9059cbb146106b2578063acb2ad6f146106d1578063ad80e451146106e6578063b0fa844414610705575f80fd5b80636a22d8cc1461059f57806370a08231146105d2578063893d20e8146106065780638b4cee08146106225780638ebfc796146106415780638f02bb5b14610660575f80fd5b806323b872dd116101f757806346904840116101b157806346904840146104fb578063470624021461051a5780634782f7791461052f578063491606581461054e5780634d2384891461056d578063678f5b3c14610580575f80fd5b806323b872dd1461044157806326232a2e146104605780632b14ca5614610475578063313ce5671461048a57806333039d3d146104c75780633f3e4c11146104dc575f80fd5b8063116191b611610248578063116191b61461036757806312e8e2c3146103b2578063131417de146103d157806318160ddd146103f05780631a98b2e01461040e5780631c6ffa461461042d575f80fd5b806301e88208146102845780630659ce5c146102d757806306fdde03146102f8578063095ea7b3146103195780630cc835a314610348575b5f80fd5b34801561028f575f80fd5b506102bb61029e366004611d3a565b600b6020525f908152604090205460ff8082169161010090041682565b6040805192151583529015156020830152015b60405180910390f35b3480156102e2575f80fd5b506102f66102f1366004611d55565b610888565b005b348015610303575f80fd5b5061030c6108ca565b6040516102ce9190611de0565b348015610324575f80fd5b50610338610333366004611df2565b61095a565b60405190151581526020016102ce565b348015610353575f80fd5b506102f6610362366004611e1c565b6109c6565b348015610372575f80fd5b5061039a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102ce565b3480156103bd575f80fd5b506102f66103cc366004611e1c565b6109f4565b3480156103dc575f80fd5b506102f66103eb366004611d3a565b610a22565b3480156103fb575f80fd5b506001545b6040519081526020016102ce565b348015610419575f80fd5b506102f6610428366004611e78565b610a6d565b348015610438575f80fd5b5061030c610b4c565b34801561044c575f80fd5b5061033861045b366004611d55565b610bd8565b34801561046b575f80fd5b5061040060095481565b348015610480575f80fd5b50610400600d5481565b348015610495575f80fd5b5060405160ff7f00000000000000000000000000000000000000000000000000000000000000001681526020016102ce565b3480156104d2575f80fd5b5061040060105481565b3480156104e7575f80fd5b506102f66104f6366004611e1c565b610c90565b348015610506575f80fd5b50600f5461039a906001600160a01b031681565b348015610525575f80fd5b50610400600c5481565b34801561053a575f80fd5b506102f6610549366004611df2565b610cbe565b348015610559575f80fd5b506102f6610568366004611f48565b610cf5565b6102f661057b366004611fe4565b610dd9565b34801561058b575f80fd5b50600a5461039a906001600160a01b031681565b3480156105aa575f80fd5b5061039a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105dd575f80fd5b506104006105ec366004611d3a565b6001600160a01b03165f9081526004602052604090205490565b348015610611575f80fd5b505f546001600160a01b031661039a565b34801561062d575f80fd5b506102f661063c366004611e1c565b610e5c565b34801561064c575f80fd5b506102f661065b366004612027565b610e8a565b34801561066b575f80fd5b506102f661067a366004611e1c565b610edd565b34801561068a575f80fd5b5061030c610f0b565b34801561069e575f80fd5b506102f66106ad366004611d3a565b610f1a565b3480156106bd575f80fd5b506103386106cc366004611df2565b610f9c565b3480156106dc575f80fd5b50610400600e5481565b3480156106f1575f80fd5b506102f6610700366004611e1c565b610fa8565b348015610710575f80fd5b5061030c610fd6565b348015610724575f80fd5b50600f5461033890600160a81b900460ff1681565b348015610744575f80fd5b506102f661075336600461205e565b610fe3565b348015610763575f80fd5b5061040060085481565b348015610778575f80fd5b506102f6610787366004612027565b61102a565b348015610797575f80fd5b506102f66107a636600461205e565b611083565b6102f66107b9366004611fe4565b6110ca565b6102f66107cc366004611df2565b611128565b3480156107dc575f80fd5b5061040061271081565b3480156107f1575f80fd5b50610400610800366004611d55565b61139e565b348015610810575f80fd5b5061040061081f366004612079565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610854575f80fd5b506102f6610863366004611d3a565b61147b565b348015610873575f80fd5b50600f5461033890600160a01b900460ff1681565b5f546001600160a01b031633146108ba5760405162461bcd60e51b81526004016108b1906120a5565b60405180910390fd5b6108c58383836114c6565b505050565b6060600280546108d9906120d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610905906120d2565b80156109505780601f1061092757610100808354040283529160200191610950565b820191905f5260205f20905b81548152906001019060200180831161093357829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109b49086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146109ef5760405162461bcd60e51b81526004016108b1906120a5565b600c55565b5f546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016108b1906120a5565b600955565b5f546001600160a01b03163314610a4b5760405162461bcd60e51b81526004016108b1906120a5565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8585604051610a7e92919061210a565b604051908190038120631876eed960e01b825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610ae2908e908e908e908e908e9089908d908d908d90600401612141565b6020604051808303815f875af1158015610afe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b22919061219f565b610b3f57604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b60068054610b59906120d2565b80601f0160208091040260200160405190810160405280929190818152602001828054610b85906120d2565b8015610bd05780601f10610ba757610100808354040283529160200191610bd0565b820191905f5260205f20905b815481529060010190602001808311610bb357829003601f168201915b505050505081565b6001600160a01b0383165f908152600560209081526040808320338452909152812054821115610c435760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420416c6c6f77616e636560501b60448201526064016108b1565b6001600160a01b0384165f90815260056020908152604080832033845290915281208054849290610c759084906121ce565b90915550610c8690508484846115f2565b90505b9392505050565b5f546001600160a01b03163314610cb95760405162461bcd60e51b81526004016108b1906120a5565b601055565b5f546001600160a01b03163314610ce75760405162461bcd60e51b81526004016108b1906120a5565b610cf182826118e5565b5050565b5f8282604051610d0692919061210a565b604051908190038120635f6970c360e01b825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610d64908b908b908b908b908b9089906004016121e1565b6020604051808303815f875af1158015610d80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da4919061219f565b610dc157604051631403112d60e21b815260040160405180910390fd5b610dcf8787878787876119bb565b5050505050505050565b604051634d23848960e01b815260048101849052602481018390526001600160a01b0382811660448301527f00000000000000000000000000000000000000000000000000000000000000001690634d2384899034906064015b5f604051808303818588803b158015610e4a575f80fd5b505af1158015610dcf573d5f803e3d5ffd5b5f546001600160a01b03163314610e855760405162461bcd60e51b81526004016108b1906120a5565b600d55565b5f546001600160a01b03163314610eb35760405162461bcd60e51b81526004016108b1906120a5565b6001600160a01b03919091165f908152600b60205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610f065760405162461bcd60e51b81526004016108b1906120a5565b600e55565b6060600380546108d9906120d2565b5f546001600160a01b03163314610f435760405162461bcd60e51b81526004016108b1906120a5565b5f80546040516001600160a01b03808516939216917f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73591a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f610c893384846115f2565b5f546001600160a01b03163314610fd15760405162461bcd60e51b81526004016108b1906120a5565b600855565b60078054610b59906120d2565b5f546001600160a01b0316331461100c5760405162461bcd60e51b81526004016108b1906120a5565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146110535760405162461bcd60e51b81526004016108b1906120a5565b6001600160a01b039091165f908152600b6020526040902080549115156101000261ff0019909216919091179055565b5f546001600160a01b031633146110ac5760405162461bcd60e51b81526004016108b1906120a5565b600f8054911515600160a81b0260ff60a81b19909216919091179055565b6040516366a19d6d60e11b815260048101849052602481018390526001600160a01b0382811660448301527f0000000000000000000000000000000000000000000000000000000000000000169063cd433ada903490606401610e33565b5f81116111475760405162461bcd60e51b81526004016108b190612221565b6001600160a01b03821661118e5760405162461bcd60e51b815260206004820152600e60248201526d16995c9bc8149958da5c1a595b9d60921b60448201526064016108b1565b60095460085461119e9190612246565b3410156111d75760405162461bcd60e51b81526020600482015260076024820152664d696e2047617360c81b60448201526064016108b1565b335f908152600460205260409020548111156112055760405162461bcd60e51b81526004016108b190612259565b600f54600160a81b900460ff16156112525760405162461bcd60e51b815260206004820152601060248201526f109c9a5919da5b99c8109b1bd8dad95960821b60448201526064016108b1565b6009541561127357600a54600954611273916001600160a01b0316906118e5565b5f6009543461128291906121ce565b905061128e3383611b0c565b604080516001600160a01b0385811660208301528183018590528251808303840181526060830193849052630c93e3bb60e01b9093527f00000000000000000000000000000000000000000000000000000000000000001690630c93e3bb90849061130790309060069060079088903390606401612300565b5f604051808303818588803b15801561131e575f80fd5b505af1158015611330573d5f803e3d5ffd5b5050604051631c92115f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169350631c92115f92506113879150600690600790869060040161235d565b5f604051808303815f87803b158015610e4a575f80fd5b6001600160a01b0383165f908152600b602052604081205460ff16806113db57506001600160a01b0383165f908152600b602052604090205460ff165b156113e757505f610c89565b6001600160a01b0383165f908152600b6020526040902054610100900460ff16611460576001600160a01b0384165f908152600b6020526040902054610100900460ff1661144f57612710600e5483611440919061239f565b61144a91906123b6565b610c86565b612710600c5483611440919061239f565b612710600d5483611471919061239f565b610c8691906123b6565b5f546001600160a01b031633146114a45760405162461bcd60e51b81526004016108b1906120a5565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f9283929087169161152191906123d5565b5f604051808303815f865af19150503d805f811461155a576040519150601f19603f3d011682016040523d82523d5f602084013e61155f565b606091505b5091509150818015611589575080511580611589575080806020019051810190611589919061219f565b6115eb5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016108b1565b5050505050565b5f6001600160a01b0384166116375760405162461bcd60e51b815260206004820152600b60248201526a2d32b9379029b2b73232b960a91b60448201526064016108b1565b6001600160a01b03831661167e5760405162461bcd60e51b815260206004820152600e60248201526d16995c9bc8149958da5c1a595b9d60921b60448201526064016108b1565b5f821161169d5760405162461bcd60e51b81526004016108b190612221565b6001600160a01b0384165f908152600460205260409020548211156116d45760405162461bcd60e51b81526004016108b190612259565b6001600160a01b0384165f90815260046020526040812080548492906116fb9084906121ce565b909155505f905061170d85858561139e565b90505f61171a82856121ce565b90505f811161173b5760405162461bcd60e51b81526004016108b190612221565b6001600160a01b038086165f81815260046020526040908190208054850190555190918816905f805160206124638339815191529061177d9085815260200190565b60405180910390a381156118d957600f545f906001600160a01b0316158015906117b25750600f546001600160a01b03163014155b90505f816117c057306117cd565b600f546001600160a01b03165b6001600160a01b038082165f81815260046020526040908190208054890190555192935091908a16905f80516020612463833981519152906118129088815260200190565b60405180910390a3600f54600160a01b900460ff1680156118305750815b156118d657604080518082018252600981526874726967676572282960b81b60209182015281516004815260248101835290810180516001600160e01b0316630ffd91a760e31b17905290515f916001600160a01b0384169161189391906123d5565b5f604051808303815f865af19150503d805f81146118cc576040519150601f19603f3d011682016040523d82523d5f602084013e6118d1565b606091505b505050505b50505b50600195945050505050565b604080515f808252602082019092526001600160a01b03841690839060405161190e91906123d5565b5f6040518083038185875af1925050503d805f8114611948576040519150601f19603f3d011682016040523d82523d5f602084013e61194d565b606091505b50509050806108c55760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016108b1565b60066040516119ca91906123f0565b604051809103902086866040516119e292919061210a565b604051809103902014611a2e5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21029b7bab931b29021b430b4b760611b60448201526064016108b1565b6007604051611a3d91906123f0565b60405180910390208484604051611a5592919061210a565b604051809103902014611aa35760405162461bcd60e51b8152602060048201526016602482015275496e76616c696420536f75726365204164647265737360501b60448201526064016108b1565b600f54600160a81b900460ff1615611af05760405162461bcd60e51b815260206004820152601060248201526f109c9a5919da5b99c8109b1bd8dad95960821b60448201526064016108b1565b5f80611afe83850185611df2565b91509150610dcf8282611c1d565b6001600160a01b038216611b515760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016108b1565b5f8111611b705760405162461bcd60e51b81526004016108b190612221565b6001600160a01b0382165f90815260046020526040902054811115611ba75760405162461bcd60e51b81526004016108b190612259565b6001600160a01b0382165f9081526004602052604081208054839290611bce9084906121ce565b925050819055508060015f828254611be691906121ce565b90915550506040518181525f906001600160a01b038416905f80516020612463833981519152906020015b60405180910390a35050565b6001600160a01b038216611c625760405162461bcd60e51b815260206004820152600c60248201526b5a65726f204164647265737360a01b60448201526064016108b1565b5f8111611c815760405162461bcd60e51b81526004016108b190612221565b6001600160a01b0382165f908152600460205260409020805482019055600180548201908190556010541015611cf95760405162461bcd60e51b815260206004820152601860248201527f45786365656473204d617820546f74616c20537570706c79000000000000000060448201526064016108b1565b6040518181526001600160a01b038316905f905f8051602061246383398151915290602001611c11565b6001600160a01b0381168114611d37575f80fd5b50565b5f60208284031215611d4a575f80fd5b8135610c8981611d23565b5f805f60608486031215611d67575f80fd5b8335611d7281611d23565b92506020840135611d8281611d23565b929592945050506040919091013590565b5f5b83811015611dad578181015183820152602001611d95565b50505f910152565b5f8151808452611dcc816020860160208601611d93565b601f01601f19169290920160200192915050565b602081525f610c896020830184611db5565b5f8060408385031215611e03575f80fd5b8235611e0e81611d23565b946020939093013593505050565b5f60208284031215611e2c575f80fd5b5035919050565b5f8083601f840112611e43575f80fd5b50813567ffffffffffffffff811115611e5a575f80fd5b602083019150836020828501011115611e71575f80fd5b9250929050565b5f805f805f805f805f8060c08b8d031215611e91575f80fd5b8a35995060208b013567ffffffffffffffff80821115611eaf575f80fd5b611ebb8e838f01611e33565b909b50995060408d0135915080821115611ed3575f80fd5b611edf8e838f01611e33565b909950975060608d0135915080821115611ef7575f80fd5b611f038e838f01611e33565b909750955060808d0135915080821115611f1b575f80fd5b50611f288d828e01611e33565b9150809450508092505060a08b013590509295989b9194979a5092959850565b5f805f805f805f6080888a031215611f5e575f80fd5b87359650602088013567ffffffffffffffff80821115611f7c575f80fd5b611f888b838c01611e33565b909850965060408a0135915080821115611fa0575f80fd5b611fac8b838c01611e33565b909650945060608a0135915080821115611fc4575f80fd5b50611fd18a828b01611e33565b989b979a50959850939692959293505050565b5f805f60608486031215611ff6575f80fd5b8335925060208401359150604084013561200f81611d23565b809150509250925092565b8015158114611d37575f80fd5b5f8060408385031215612038575f80fd5b823561204381611d23565b915060208301356120538161201a565b809150509250929050565b5f6020828403121561206e575f80fd5b8135610c898161201a565b5f806040838503121561208a575f80fd5b823561209581611d23565b9150602083013561205381611d23565b60208082526013908201527221b0b63632b91034b9903737ba1037bbb732b960691b604082015260600190565b600181811c908216806120e657607f821691505b60208210810361210457634e487b7160e01b5f52602260045260245ffd5b50919050565b818382375f9101908152919050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b89815260c060208201525f61215a60c083018a8c612119565b828103604084015261216d81898b612119565b90508660608401528281036080840152612188818688612119565b9150508260a08301529a9950505050505050505050565b5f602082840312156121af575f80fd5b8151610c898161201a565b634e487b7160e01b5f52601160045260245ffd5b818103818111156109c0576109c06121ba565b868152608060208201525f6121fa608083018789612119565b828103604084015261220d818688612119565b915050826060830152979650505050505050565b6020808252600b908201526a16995c9bc8105b5bdd5b9d60aa1b604082015260600190565b808201808211156109c0576109c06121ba565b602080825260149082015273496e73756666696369656e742042616c616e636560601b604082015260600190565b5f8154612293816120d2565b8085526020600183811680156122b057600181146122ca576122f5565b60ff1985168884015283151560051b8801830195506122f5565b865f52825f205f5b858110156122ed5781548a82018601529083019084016122d2565b890184019650505b505050505092915050565b5f60018060a01b03808816835260a0602084015261232160a0840188612287565b83810360408501526123338188612287565b905083810360608501526123478187611db5565b9250508084166080840152509695505050505050565b606081525f61236f6060830186612287565b82810360208401526123818186612287565b905082810360408401526123958185611db5565b9695505050505050565b80820281158282048414176109c0576109c06121ba565b5f826123d057634e487b7160e01b5f52601260045260245ffd5b500490565b5f82516123e6818460208701611d93565b9190910192915050565b5f8083546123fd816120d2565b60018281168015612415576001811461242a57612456565b60ff1984168752821515830287019450612456565b875f526020805f205f5b8581101561244d5781548a820152908401908201612434565b50505082870194505b5092969550505050505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cd00dad9b63dda306c15547cddf961de6ebea9d1a66cf255bd7690d86d6056ba64736f6c634300081400330000000000000000000000004f4495243837681061c4743b74b3eedf548d56a50000000000000000000000002d5d7d31f671f86c782533cc367f14109a082712000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000002d2171118bcef0649d6472dc5219d58be4f259ca00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000114f7065726174696f6e2050686f656e69780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005244f504858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000762696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30784466334332343730366139396462394437613746396335614132303641646363373433453537396500000000000000000000000000000000000000000000
0xa2646970667358221220cd00dad9b63dda306c15547cddf961de6ebea9d1a66cf255bd7690d86d6056ba64736f6c634300081400330000000000000000000000004f4495243837681061c4743b74b3eedf548d56a50000000000000000000000002d5d7d31f671f86c782533cc367f14109a082712000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000221b262dd800000000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000002d2171118bcef0649d6472dc5219d58be4f259ca00000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000114f7065726174696f6e2050686f656e69780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005244f504858000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000762696e616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30784466334332343730366139396462394437613746396335614132303641646363373433453537396500000000000000000000000000000000000000000000