0 txs
0 calls
constructor
constructor(address _gelato, address _taskTreasury)
functions
execAddresses
viewfunction execAddresses(bytes32) view returns (address)
fee
viewfunction fee() view returns (uint256)
feeToken
viewfunction feeToken() view returns (address)
gelato
viewfunction gelato() view returns (address)
getFeeDetails
viewfunction getFeeDetails() view returns (uint256, address)
getTaskId
purefunction getTaskId(address taskCreator, address execAddress, bytes4 execSelector, tuple moduleData, address feeToken) pure returns (bytes32 taskId)
getTaskId
purefunction getTaskId(address taskCreator, address execAddress, bytes4 execSelector, bool useTaskTreasuryFunds, address feeToken, bytes32 resolverHash) pure returns (bytes32 taskId)
getTaskIdsByUser
viewfunction getTaskIdsByUser(address _taskCreator) view returns (bytes32[])
nonce1Balance
viewfunction nonce1Balance(bytes32) view returns (uint256)
taskCreator
viewfunction taskCreator(bytes32) view returns (address)
taskModuleAddresses
viewfunction taskModuleAddresses(uint8) view returns (address)
taskTreasury
viewfunction taskTreasury() view returns (address)
timedTask
viewfunction timedTask(bytes32) view returns (uint128 nextExec, uint128 interval)
version
viewfunction version() view returns (string)
cancelTask
nonpayablefunction cancelTask(bytes32 _taskId)
createTask
nonpayablefunction createTask(address _execAddress, bytes _execDataOrSelector, tuple _moduleData, address _feeToken) returns (bytes32 taskId)
exec
nonpayablefunction exec(address _taskCreator, address _execAddress, bytes _execData, tuple _moduleData, uint256 _txFee, address _feeToken, bool _useTaskTreasuryFunds, bool _revertOnFailure)
exec1Balance
nonpayablefunction exec1Balance(address _taskCreator, address _execAddress, bytes _execData, tuple _moduleData, tuple _oneBalanceParam, bool _revertOnFailure)
setModule
nonpayablefunction setModule(uint8[] _modules, address[] _moduleAddresses)
events
LogUseGelato1Balance
event LogUseGelato1Balance(address indexed sponsor, address indexed target, address indexed feeToken, uint256 oneBalanceChainId, uint256 nativeToFeeTokenXRateNumerator, uint256 nativeToFeeTokenXRateDenominator, bytes32 correlationId)
errors
No errors.
creation bytecode
0x60c06040523480156200001157600080fd5b50604051620055f7380380620055f783398181016040528101906200003791906200016c565b818073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050620001b3565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000db82620000ae565b9050919050565b620000ed81620000ce565b8114620000f957600080fd5b50565b6000815190506200010d81620000e2565b92915050565b60006200012082620000ae565b9050919050565b6000620001348262000113565b9050919050565b620001468162000127565b81146200015257600080fd5b50565b60008151905062000166816200013b565b92915050565b60008060408385031215620001865762000185620000a9565b5b60006200019685828601620000fc565b9250506020620001a98582860162000155565b9150509250929050565b60805160a051615402620001f560003960008181610c9001528181610d150152610f110152600081816105db015281816107db0152610af001526154026000f3fe608060405234801561001057600080fd5b50600436106101255760003560e01c8063813785e6116100ad578063b81cd86611610071578063b81cd8661461035f578063cd3d4fb914610390578063ddca3f43146103c0578063e60a3213146103de578063ee8ca3b5146103fc57610126565b8063813785e6146102bc578063abf26d55146102d8578063ac21631a146102f4578063ad558ab914610324578063b810c6361461034057610126565b806354fd4d50116100f457806354fd4d5014610202578063573ea57514610220578063647846a51461023e5780636d2dd29f1461025c5780637b4e45e91461028c57610126565b80630407145c146101425780632e6e0bd0146101725780633140576e146101a25780633323b467146101d257610126565b5b60003660606101358383610418565b9050915050805190602001f35b61015c600480360381019061015791906132a0565b610480565b6040516101699190613395565b60405180910390f35b61018c600480360381019061018791906133e3565b6104d6565b604051610199919061341f565b60405180910390f35b6101bc60048036038101906101b79190613838565b610509565b6040516101c991906138de565b60405180910390f35b6101ec60048036038101906101e79190613978565b610523565b6040516101f991906138de565b60405180910390f35b61020a6105a0565b6040516102179190613aa4565b60405180910390f35b6102286105d9565b6040516102359190613ae7565b60405180910390f35b6102466105fd565b604051610253919061341f565b60405180910390f35b610276600480360381019061027191906133e3565b610623565b604051610283919061341f565b60405180910390f35b6102a660048036038101906102a19190613b3a565b610656565b6040516102b391906138de565b60405180910390f35b6102d660048036038101906102d19190613c73565b610672565b005b6102f260048036038101906102ed9190613d13565b6107d9565b005b61030e600480360381019061030991906133e3565b610ad6565b60405161031b9190613df3565b60405180910390f35b61033e60048036038101906103399190613e3a565b610aee565b005b610348610e49565b604051610356929190613f28565b60405180910390f35b610379600480360381019061037491906133e3565b610e7a565b604051610387929190613f7c565b60405180910390f35b6103aa60048036038101906103a59190613fa5565b610ed6565b6040516103b7919061341f565b60405180910390f35b6103c8610f09565b6040516103d59190613df3565b60405180910390f35b6103e6610f0f565b6040516103f39190614031565b60405180910390f35b610416600480360381019061041191906133e3565b610f33565b005b606060006104268484610f51565b90506000806000806104398589896110c7565b93509350935093506000610450338686868661128f565b905080604051602001610463919061406d565b604051602081830303815290604052965050505050505092915050565b606060006104cb600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061140d565b905080915050919050565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006105188686868686611422565b905095945050505050565b600080610532338860066114e2565b8098508192505050610594818888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508761058e90614088565b8761128f565b91505095945050505050565b6040518060400160405280600181526020017f360000000000000000000000000000000000000000000000000000000000000081525081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006106668787878787876116ab565b90509695505050505050565b61067a6116ea565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de906140e7565b60405180910390fd5b600084849050905060005b818110156107d15783838281811061070d5761070c614107565b5b905060200201602081019061072291906132a0565b6006600088888581811061073957610738614107565b5b905060200201602081019061074e9190613fa5565b60048111156107605761075f614136565b5b600481111561077257610771614136565b5b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080806107c990614194565b9150506106f2565b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085e90614228565b60405180910390fd5b6000610888878761087788611713565b8761088190614088565b6000611422565b90506108db81600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061188c90919063ffffffff16565b61091a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091190614294565b60405180910390fd5b600061097d6000838a8a8a8a806000019061093591906142c3565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508960066118a3565b905060016007600084815260200190815260200160002060008282546109a39190614326565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1660007fa458375b1282695a972870cbfbc4891a9d856b79d563d17667d171d87e0c527a898686604051610a0e939291906143e0565b60405180910390a4836020016020810190610a2991906132a0565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16856000016020810190610a6991906132a0565b73ffffffffffffffffffffffffffffffffffffffff167f116bfd46451bbd23e7a5f5b7420b28e3d98d4c477f173da513aaaeac3c4baada8760400135886060013589608001358a60a00135604051610ac4949392919061441e565b60405180910390a45050505050505050565b60076020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390614228565b60405180910390fd5b6000610ba98989610b8c8a611713565b89610b9690614088565b87610ba15788610ba4565b60005b611422565b9050610bfc81600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061188c90919063ffffffff16565b610c3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3290614294565b60405180910390fd5b82610c89578460038190555083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000610d0b7f0000000000000000000000000000000000000000000000000000000000000000838c8c8c8c8060000190610cc391906142c3565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508960066118a3565b90508315610da7577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a3f1233e8b87896040518463ffffffff1660e01b8152600401610d7093929190614463565b600060405180830381600087803b158015610d8a57600080fd5b505af1158015610d9e573d6000803e3d6000fd5b50505050610dd3565b600360009055600460006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b8873ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16877fa458375b1282695a972870cbfbc4891a9d856b79d563d17667d171d87e0c527a8b8686604051610e35939291906143e0565b60405180910390a450505050505050505050565b600080600354600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915091509091565b60056020528060005260406000206000915090508060000160009054906101000a90046fffffffffffffffffffffffffffffffff16908060000160109054906101000a90046fffffffffffffffffffffffffffffffff16905082565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610f41823360066119ba565b9050610f4d8183611b77565b5050565b6000601883836003818110610f6957610f68614107565b5b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c601084846002818110610fcc57610fcb614107565b5b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c60088585600181811061102f5761102e614107565b5b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c858560008181106110905761108f614107565b5b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916171717905092915050565b600060606110d3613214565b6000638b92696a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036111515761113c86866004908092611137939291906144a4565b611c96565b80945081955082965083975050505050611286565b63b9f45adb60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036111cd576111b8868660049080926111b3939291906144a4565b611e3d565b80945081955082965083975050505050611285565b63a873882560e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611249576112348686600490809261122f939291906144a4565b611fe4565b80945081955082965083975050505050611284565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90614551565b60405180910390fd5b5b5b93509350935093565b60006112a6868661129f87611713565b8686611422565b90506112f981600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061188c90919063ffffffff16565b15611339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611330906145e3565b60405180910390fd5b611348818787878760066121a8565b61139981600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061237a90919063ffffffff16565b50808573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f73f079427211e7b93db86024054de0b3c4a076a36cf0f86d2c4bf0d112eb7f1d8787876040516113fc9392919061484a565b60405180910390a495945050505050565b606061141b82600001612391565b9050919050565b600061143183600001516123ed565b156114a7576000611460846020015160008151811061145357611452614107565b5b60200260200101516124fe565b905061149f878787600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161487866116ab565b9150506114d9565b85858585856040516020016114c095949392919061489e565b6040516020818303038152906040528051906020012090505b95945050505050565b60008060006004808111156114fa576114f9614136565b5b905060005b81811161169b57600081600481111561151b5761151a614136565b5b905061153881600481111561153357611532614136565b5b61250f565b6115425750611688565b600086600083600481111561155a57611559614136565b5b600481111561156c5761156b614136565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506115a681612550565b60006376474e6a60e01b8a8a6040516024016115c39291906148f8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600061166483836040518060400160405280601881526020017f4175746f6d6174652e7072654372656174655461736b3a2000000000000000008152506125c2565b9150508080602001905181019061167b919061494d565b809b50819c505050505050505b808061169390614194565b9150506114ff565b5085859250925050935093915050565b60008686868686866040516020016116c89695949392919061498d565b6040516020818303038152906040528051906020012090509695505050505050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610354905090565b600060188260038151811061172b5761172a614107565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c60108360028151811061178f5761178e614107565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c6008846001815181106117f3576117f2614107565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c8460008151811061185557611854614107565b5b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161717179050919050565b600061189b836000018361264c565b905092915050565b6000806118b0858461266f565b90506118c08989898989866127ac565b80975081985050508973ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611936576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192d90614a60565b60405180910390fd5b61199a87878a60405160200161194d929190614b04565b6040516020818303038152906040526000876040518060400160405280600f81526020017f4175746f6d6174652e657865633a20000000000000000000000000000000000081525061291f565b50809250506119ad8989898989866129b9565b5098975050505050505050565b6000806004808111156119d0576119cf614136565b5b905060005b818111611b6b5760008160048111156119f1576119f0614136565b5b9050611a0e816004811115611a0957611a08614136565b5b612aff565b611a185750611b58565b6000856000836004811115611a3057611a2f614136565b5b6004811115611a4257611a41614136565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611a7c81612550565b60006314ae992660e01b8989604051602401611a99929190614b2c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000611b3a83836040518060400160405280601881526020017f4175746f6d6174652e70726543616e63656c5461736b3a2000000000000000008152506125c2565b91505080806020019051810190611b519190614b55565b9850505050505b8080611b6390614194565b9150506119d5565b50839150509392505050565b611bc881600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061188c90919063ffffffff16565b611c07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfe90614bf4565b60405180910390fd5b611c5881600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612b7090919063ffffffff16565b507f44d83729a43f9c6046446df014d073dd242e0ad672071e9b292f31b669c25b098183604051611c8a929190614b2c565b60405180910390a15050565b60006060611ca2613214565b600080600060608888810190611cb89190614c29565b809450819550829650839a50505050506000600167ffffffffffffffff811115611ce557611ce46134a8565b5b604051908082528060200260200182016040528015611d135781602001602082028036833780820191505090505b509050600081600081518110611d2c57611d2b614107565b5b60200260200101906004811115611d4657611d45614136565b5b90816004811115611d5a57611d59614136565b5b815250506000600167ffffffffffffffff811115611d7b57611d7a6134a8565b5b604051908082528060200260200182016040528015611dae57816020015b6060815260200190600190039081611d995790505b5090508383604051602001611dc4929190614cac565b60405160208183030381529060405281600081518110611de757611de6614107565b5b6020026020010181905250604051806040016040528083815260200182815250965084604051602001611e1a9190614cfd565b604051602081830303815290604052975060009550505050505092959194509250565b60006060611e49613214565b600080600060608888810190611e5f9190614d18565b809850819550829650839750849b5050505050506000600167ffffffffffffffff811115611e9057611e8f6134a8565b5b604051908082528060200260200182016040528015611ebe5781602001602082028036833780820191505090505b509050600081600081518110611ed757611ed6614107565b5b60200260200101906004811115611ef157611ef0614136565b5b90816004811115611f0557611f04614136565b5b815250506000600167ffffffffffffffff811115611f2657611f256134a8565b5b604051908082528060200260200182016040528015611f5957816020015b6060815260200190600190039081611f445790505b5090508383604051602001611f6f929190614cac565b60405160208183030381529060405281600081518110611f9257611f91614107565b5b6020026020010181905250604051806040016040528083815260200182815250965084604051602001611fc59190614cfd565b6040516020818303038152906040529750505050505092959194509250565b60006060611ff0613214565b6000606080611fff8888612b87565b809550819650829750839950849a5050505050506000600267ffffffffffffffff8111156120305761202f6134a8565b5b60405190808252806020026020018201604052801561205e5781602001602082028036833780820191505090505b50905060008160008151811061207757612076614107565b5b6020026020010190600481111561209157612090614136565b5b908160048111156120a5576120a4614136565b5b815250506001816001815181106120bf576120be614107565b5b602002602001019060048111156120d9576120d8614136565b5b908160048111156120ed576120ec614136565b5b815250506000600267ffffffffffffffff81111561210e5761210d6134a8565b5b60405190808252806020026020018201604052801561214157816020015b606081526020019060019003908161212c5790505b509050838160008151811061215957612158614107565b5b6020026020010181905250828160018151811061217957612178614107565b5b602002602001018190525060405180604001604052808381526020018281525095505050505092959194509250565b600082600001515190506121c0818460000151612c4d565b60005b81811015612370576000846000015182815181106121e4576121e3614107565b5b6020026020010151905061220981600481111561220457612203614136565b5b612e06565b612213575061235d565b600084600083600481111561222b5761222a614136565b5b600481111561223d5761223c614136565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061227781612550565b600063b0ccbdf060e01b8b8b8b8b8b60200151898151811061229c5761229b614107565b5b60200260200101516040516024016122b8959493929190614daf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905061235782826040518060400160405280601781526020017f4175746f6d6174652e6f6e4372656174655461736b3a200000000000000000008152506125c2565b50505050505b808061236890614194565b9150506121c3565b5050505050505050565b60006123898360000183612e77565b905092915050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123e157602002820191906000526020600020905b8154815260200190600101908083116123cd575b50505050509050919050565b6000808251905060018114801561244357506000600481111561241357612412614136565b5b8360008151811061242757612426614107565b5b6020026020010151600481111561244157612440614136565b5b145b806124e4575060028114801561249857506000600481111561246857612467614136565b5b8360008151811061247c5761247b614107565b5b6020026020010151600481111561249657612495614136565b5b145b80156124e35750600160048111156124b3576124b2614136565b5b836001815181106124c7576124c6614107565b5b602002602001015160048111156124e1576124e0614136565b5b145b5b156124f35760019150506124f9565b60009150505b919050565b600081805190602001209050919050565b60006002600481111561252557612524614136565b5b82600481111561253857612537614136565b5b03612546576001905061254b565b600090505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b690614e82565b60405180910390fd5b50565b600060608473ffffffffffffffffffffffffffffffffffffffff16846040516125eb9190614ea2565b600060405180830381855af49150503d8060008114612626576040519150601f19603f3d011682016040523d82523d6000602084013e61262b565b606091505b50809250819350505081612644576126438184612ee7565b5b935093915050565b600080836001016000848152602001908152602001600020541415905092915050565b606060008351905060008167ffffffffffffffff811115612693576126926134a8565b5b6040519080825280602002602001820160405280156126c15781602001602082028036833780820191505090505b50905060005b828110156127a0578460008783815181106126e5576126e4614107565b5b602002602001015160048111156126ff576126fe614136565b5b600481111561271157612710614136565b5b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682828151811061275357612752614107565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808061279890614194565b9150506126c7565b50809250505092915050565b6000606060008451905060005b8181101561290c576127f68682815181106127d7576127d6614107565b5b602002602001015160048111156127f1576127f0614136565b5b61304e565b156128f957600063c10304f760e01b8b8b8b8b60405160240161281c9493929190614eb9565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060006128d787848151811061289357612892614107565b5b6020026020010151836040518060400160405280601681526020017f4175746f6d6174652e7072654578656343616c6c3a20000000000000000000008152506125c2565b915050808060200190518101906128ee9190614f75565b809a50819b50505050505b808061290490614194565b9150506127b9565b5086869250925050965096945050505050565b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040516129499190614ea2565b60006040518083038185875af1925050503d8060008114612986576040519150601f19603f3d011682016040523d82523d6000602084013e61298b565b606091505b5080925081935050508115801561299f5750835b156129af576129ae8184612ee7565b5b9550959350505050565b60008151905060005b81811015612af5576129ff8482815181106129e0576129df614107565b5b602002602001015160048111156129fa576129f9614136565b5b6130bf565b15612ae257600063b2db0b4160e01b89898989604051602401612a259493929190614eb9565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050612ade848381518110612a9a57612a99614107565b5b6020026020010151826040518060400160405280601781526020017f4175746f6d6174652e706f73744578656343616c6c3a200000000000000000008152506125c2565b5050505b8080612aed90614194565b9150506129c2565b5050505050505050565b600060016004811115612b1557612b14614136565b5b826004811115612b2857612b27614136565b5b1480612b58575060026004811115612b4357612b42614136565b5b826004811115612b5657612b55614136565b5b145b15612b665760019050612b6b565b600090505b919050565b6000612b7f8360000183613100565b905092915050565b6000606060006060806000806000806000806000808e8e810190612bab9190614ffd565b975097509750975097509750975097508585604051602001612bcd9190614cfd565b60405160208183030381529060405282612be75783612bea565b60005b9350838686604051602001612c00929190614cac565b6040516020818303038152906040528b8b604051602001612c22929190613f7c565b6040516020818303038152906040529c509c509c509c509c5050505050505050509295509295909350565b6001821115612e02576000806004811115612c6b57612c6a614136565b5b82600081518110612c7f57612c7e614107565b5b60200260200101516004811115612c9957612c98614136565b5b14905060005b600184612cac91906150cf565b811015612dff57828181518110612cc657612cc5614107565b5b60200260200101516004811115612ce057612cdf614136565b5b83600183612cee9190614326565b81518110612cff57612cfe614107565b5b60200260200101516004811115612d1957612d18614136565b5b11612d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d509061514f565b60405180910390fd5b8115612dec57600480811115612d7257612d71614136565b5b83600183612d809190614326565b81518110612d9157612d90614107565b5b60200260200101516004811115612dab57612daa614136565b5b03612deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612de2906151e1565b60405180910390fd5b5b8080612df790614194565b915050612c9f565b50505b5050565b600060016004811115612e1c57612e1b614136565b5b826004811115612e2f57612e2e614136565b5b1480612e5f575060026004811115612e4a57612e49614136565b5b826004811115612e5d57612e5c614136565b5b145b15612e6d5760019050612e72565b600090505b919050565b6000612e83838361264c565b612edc578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612ee1565b600090505b92915050565b600460208351612ef79190615230565b03612ff2576000826020015190506308c379a060e01b817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603612f96576044830192508183604051602001612f4b92919061529d565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f8d9190613aa4565b60405180910390fd5b81604051602001612fa7919061530d565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fe99190613aa4565b60405180910390fd5b80604051602001613003919061537b565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130459190613aa4565b60405180910390fd5b60006001600481111561306457613063614136565b5b82600481111561307757613076614136565b5b14806130a757506002600481111561309257613091614136565b5b8260048111156130a5576130a4614136565b5b145b156130b557600190506130ba565b600090505b919050565b6000600360048111156130d5576130d4614136565b5b8260048111156130e8576130e7614136565b5b036130f657600190506130fb565b600090505b919050565b6000808360010160008481526020019081526020016000205490506000811461320857600060018261313291906150cf565b905060006001866000018054905061314a91906150cf565b90508181146131b957600086600001828154811061316b5761316a614107565b5b906000526020600020015490508087600001848154811061318f5761318e614107565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b856000018054806131cd576131cc61539d565b5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061320e565b60009150505b92915050565b604051806040016040528060608152602001606081525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061326d82613242565b9050919050565b61327d81613262565b811461328857600080fd5b50565b60008135905061329a81613274565b92915050565b6000602082840312156132b6576132b5613238565b5b60006132c48482850161328b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61330c816132f9565b82525050565b600061331e8383613303565b60208301905092915050565b6000602082019050919050565b6000613342826132cd565b61334c81856132d8565b9350613357836132e9565b8060005b8381101561338857815161336f8882613312565b975061337a8361332a565b92505060018101905061335b565b5085935050505092915050565b600060208201905081810360008301526133af8184613337565b905092915050565b6133c0816132f9565b81146133cb57600080fd5b50565b6000813590506133dd816133b7565b92915050565b6000602082840312156133f9576133f8613238565b5b6000613407848285016133ce565b91505092915050565b61341981613262565b82525050565b60006020820190506134346000830184613410565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61346f8161343a565b811461347a57600080fd5b50565b60008135905061348c81613466565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134e082613497565b810181811067ffffffffffffffff821117156134ff576134fe6134a8565b5b80604052505050565b600061351261322e565b905061351e82826134d7565b919050565b600080fd5b600080fd5b600067ffffffffffffffff821115613548576135476134a8565b5b602082029050602081019050919050565b600080fd5b6005811061356b57600080fd5b50565b60008135905061357d8161355e565b92915050565b60006135966135918461352d565b613508565b905080838252602082019050602084028301858111156135b9576135b8613559565b5b835b818110156135e257806135ce888261356e565b8452602084019350506020810190506135bb565b5050509392505050565b600082601f83011261360157613600613528565b5b8135613611848260208601613583565b91505092915050565b600067ffffffffffffffff821115613635576136346134a8565b5b602082029050602081019050919050565b600080fd5b600067ffffffffffffffff821115613666576136656134a8565b5b61366f82613497565b9050602081019050919050565b82818337600083830152505050565b600061369e6136998461364b565b613508565b9050828152602081018484840111156136ba576136b9613646565b5b6136c584828561367c565b509392505050565b600082601f8301126136e2576136e1613528565b5b81356136f284826020860161368b565b91505092915050565b600061370e6137098461361a565b613508565b9050808382526020820190506020840283018581111561373157613730613559565b5b835b8181101561377857803567ffffffffffffffff81111561375657613755613528565b5b80860161376389826136cd565b85526020850194505050602081019050613733565b5050509392505050565b600082601f83011261379757613796613528565b5b81356137a78482602086016136fb565b91505092915050565b6000604082840312156137c6576137c5613492565b5b6137d06040613508565b9050600082013567ffffffffffffffff8111156137f0576137ef613523565b5b6137fc848285016135ec565b600083015250602082013567ffffffffffffffff8111156138205761381f613523565b5b61382c84828501613782565b60208301525092915050565b600080600080600060a0868803121561385457613853613238565b5b60006138628882890161328b565b95505060206138738882890161328b565b94505060406138848882890161347d565b935050606086013567ffffffffffffffff8111156138a5576138a461323d565b5b6138b1888289016137b0565b92505060806138c28882890161328b565b9150509295509295909350565b6138d8816132f9565b82525050565b60006020820190506138f360008301846138cf565b92915050565b600080fd5b60008083601f84011261391457613913613528565b5b8235905067ffffffffffffffff811115613931576139306138f9565b5b60208301915083600182028301111561394d5761394c613559565b5b9250929050565b600080fd5b60006040828403121561396f5761396e613954565b5b81905092915050565b60008060008060006080868803121561399457613993613238565b5b60006139a28882890161328b565b955050602086013567ffffffffffffffff8111156139c3576139c261323d565b5b6139cf888289016138fe565b9450945050604086013567ffffffffffffffff8111156139f2576139f161323d565b5b6139fe88828901613959565b9250506060613a0f8882890161328b565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a56578082015181840152602081019050613a3b565b83811115613a65576000848401525b50505050565b6000613a7682613a1c565b613a808185613a27565b9350613a90818560208601613a38565b613a9981613497565b840191505092915050565b60006020820190508181036000830152613abe8184613a6b565b905092915050565b6000613ad182613242565b9050919050565b613ae181613ac6565b82525050565b6000602082019050613afc6000830184613ad8565b92915050565b60008115159050919050565b613b1781613b02565b8114613b2257600080fd5b50565b600081359050613b3481613b0e565b92915050565b60008060008060008060c08789031215613b5757613b56613238565b5b6000613b6589828a0161328b565b9650506020613b7689828a0161328b565b9550506040613b8789828a0161347d565b9450506060613b9889828a01613b25565b9350506080613ba989828a0161328b565b92505060a0613bba89828a016133ce565b9150509295509295509295565b60008083601f840112613bdd57613bdc613528565b5b8235905067ffffffffffffffff811115613bfa57613bf96138f9565b5b602083019150836020820283011115613c1657613c15613559565b5b9250929050565b60008083601f840112613c3357613c32613528565b5b8235905067ffffffffffffffff811115613c5057613c4f6138f9565b5b602083019150836020820283011115613c6c57613c6b613559565b5b9250929050565b60008060008060408587031215613c8d57613c8c613238565b5b600085013567ffffffffffffffff811115613cab57613caa61323d565b5b613cb787828801613bc7565b9450945050602085013567ffffffffffffffff811115613cda57613cd961323d565b5b613ce687828801613c1d565b925092505092959194509250565b600060c08284031215613d0a57613d09613954565b5b81905092915050565b6000806000806000806101608789031215613d3157613d30613238565b5b6000613d3f89828a0161328b565b9650506020613d5089828a0161328b565b955050604087013567ffffffffffffffff811115613d7157613d7061323d565b5b613d7d89828a016136cd565b945050606087013567ffffffffffffffff811115613d9e57613d9d61323d565b5b613daa89828a01613959565b9350506080613dbb89828a01613cf4565b925050610140613dcd89828a01613b25565b9150509295509295509295565b6000819050919050565b613ded81613dda565b82525050565b6000602082019050613e086000830184613de4565b92915050565b613e1781613dda565b8114613e2257600080fd5b50565b600081359050613e3481613e0e565b92915050565b600080600080600080600080610100898b031215613e5b57613e5a613238565b5b6000613e698b828c0161328b565b9850506020613e7a8b828c0161328b565b975050604089013567ffffffffffffffff811115613e9b57613e9a61323d565b5b613ea78b828c016136cd565b965050606089013567ffffffffffffffff811115613ec857613ec761323d565b5b613ed48b828c01613959565b9550506080613ee58b828c01613e25565b94505060a0613ef68b828c0161328b565b93505060c0613f078b828c01613b25565b92505060e0613f188b828c01613b25565b9150509295985092959890939650565b6000604082019050613f3d6000830185613de4565b613f4a6020830184613410565b9392505050565b60006fffffffffffffffffffffffffffffffff82169050919050565b613f7681613f51565b82525050565b6000604082019050613f916000830185613f6d565b613f9e6020830184613f6d565b9392505050565b600060208284031215613fbb57613fba613238565b5b6000613fc98482850161356e565b91505092915050565b6000819050919050565b6000613ff7613ff2613fed84613242565b613fd2565b613242565b9050919050565b600061400982613fdc565b9050919050565b600061401b82613ffe565b9050919050565b61402b81614010565b82525050565b60006020820190506140466000830184614022565b92915050565b6000819050919050565b614067614062826132f9565b61404c565b82525050565b60006140798284614056565b60208201915081905092915050565b600061409436836137b0565b9050919050565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b60006140d1600e83613a27565b91506140dc8261409b565b602082019050919050565b60006020820190508181036000830152614100816140c4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061419f82613dda565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036141d1576141d0614165565b5b600182019050919050565b7f47656c61746f666965643a204f6e6c792067656c61746f000000000000000000600082015250565b6000614212601783613a27565b915061421d826141dc565b602082019050919050565b6000602082019050818103600083015261424181614205565b9050919050565b7f4175746f6d6174652e657865633a205461736b206e6f7420666f756e64000000600082015250565b600061427e601d83613a27565b915061428982614248565b602082019050919050565b600060208201905081810360008301526142ad81614271565b9050919050565b600080fd5b600080fd5b600080fd5b600080833560016020038436030381126142e0576142df6142b4565b5b80840192508235915067ffffffffffffffff821115614302576143016142b9565b5b60208301925060208202360383131561431e5761431d6142be565b5b509250929050565b600061433182613dda565b915061433c83613dda565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561437157614370614165565b5b828201905092915050565b600081519050919050565b600082825260208201905092915050565b60006143a38261437c565b6143ad8185614387565b93506143bd818560208601613a38565b6143c681613497565b840191505092915050565b6143da81613b02565b82525050565b600060608201905081810360008301526143fa8186614398565b905061440960208301856138cf565b61441660408301846143d1565b949350505050565b60006080820190506144336000830187613de4565b6144406020830186613de4565b61444d6040830185613de4565b61445a60608301846138cf565b95945050505050565b60006060820190506144786000830186613410565b6144856020830185613410565b6144926040830184613de4565b949350505050565b600080fd5b600080fd5b600080858511156144b8576144b761449a565b5b838611156144c9576144c861449f565b5b6001850283019150848603905094509492505050565b7f4175746f6d6174652e66616c6c6261636b3a2046756e6374696f6e206e6f742060008201527f666f756e64000000000000000000000000000000000000000000000000000000602082015250565b600061453b602583613a27565b9150614546826144df565b604082019050919050565b6000602082019050818103600083015261456a8161452e565b9050919050565b7f4175746f6d6174652e6372656174655461736b3a204475706c6963617465207460008201527f61736b0000000000000000000000000000000000000000000000000000000000602082015250565b60006145cd602383613a27565b91506145d882614571565b604082019050919050565b600060208201905081810360008301526145fc816145c0565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600581106146405761463f614136565b5b50565b60008190506146518261462f565b919050565b600061466182614643565b9050919050565b61467181614656565b82525050565b60006146838383614668565b60208301905092915050565b6000602082019050919050565b60006146a782614603565b6146b1818561460e565b93506146bc8361461f565b8060005b838110156146ed5781516146d48882614677565b97506146df8361468f565b9250506001810190506146c0565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b60006147428261437c565b61474c8185614726565b935061475c818560208601613a38565b61476581613497565b840191505092915050565b600061477c8383614737565b905092915050565b6000602082019050919050565b600061479c826146fa565b6147a68185614705565b9350836020820285016147b885614716565b8060005b858110156147f457848403895281516147d58582614770565b94506147e083614784565b925060208a019950506001810190506147bc565b50829750879550505050505092915050565b60006040830160008301518482036000860152614823828261469c565b9150506020830151848203602086015261483d8282614791565b9150508091505092915050565b600060608201905081810360008301526148648186614398565b905081810360208301526148788185614806565b90506148876040830184613410565b949350505050565b6148988161343a565b82525050565b600060a0820190506148b36000830188613410565b6148c06020830187613410565b6148cd604083018661488f565b81810360608301526148df8185614806565b90506148ee6080830184613410565b9695505050505050565b600060408201905061490d6000830185613410565b61491a6020830184613410565b9392505050565b61492a81613ac6565b811461493557600080fd5b50565b60008151905061494781614921565b92915050565b6000806040838503121561496457614963613238565b5b600061497285828601614938565b925050602061498385828601614938565b9150509250929050565b600060c0820190506149a26000830189613410565b6149af6020830188613410565b6149bc604083018761488f565b6149c960608301866143d1565b6149d66080830185613410565b6149e360a08301846138cf565b979650505050505050565b7f4175746f6d6174652e6f6e457865635461736b3a20657865634164647265737360008201527f2063616e6e6f74206265207461736b5472656173757279000000000000000000602082015250565b6000614a4a603783613a27565b9150614a55826149ee565b604082019050919050565b60006020820190508181036000830152614a7981614a3d565b9050919050565b600081905092915050565b6000614a968261437c565b614aa08185614a80565b9350614ab0818560208601613a38565b80840191505092915050565b60008160601b9050919050565b6000614ad482614abc565b9050919050565b6000614ae682614ac9565b9050919050565b614afe614af982613262565b614adb565b82525050565b6000614b108285614a8b565b9150614b1c8284614aed565b6014820191508190509392505050565b6000604082019050614b4160008301856138cf565b614b4e6020830184613410565b9392505050565b600060208284031215614b6b57614b6a613238565b5b6000614b7984828501614938565b91505092915050565b7f4175746f6d6174652e63616e63656c5461736b3a205461736b206e6f7420666f60008201527f756e640000000000000000000000000000000000000000000000000000000000602082015250565b6000614bde602383613a27565b9150614be982614b82565b604082019050919050565b60006020820190508181036000830152614c0d81614bd1565b9050919050565b600081359050614c2381614921565b92915050565b60008060008060808587031215614c4357614c42613238565b5b6000614c5187828801614c14565b9450506020614c628782880161347d565b9350506040614c7387828801614c14565b925050606085013567ffffffffffffffff811115614c9457614c9361323d565b5b614ca0878288016136cd565b91505092959194509250565b6000604082019050614cc16000830185613410565b8181036020830152614cd38184614398565b90509392505050565b6000819050919050565b614cf7614cf28261343a565b614cdc565b82525050565b6000614d098284614ce6565b60048201915081905092915050565b600080600080600060a08688031215614d3457614d33613238565b5b6000614d4288828901614c14565b9550506020614d538882890161347d565b9450506040614d6488828901614c14565b935050606086013567ffffffffffffffff811115614d8557614d8461323d565b5b614d91888289016136cd565b9250506080614da288828901614c14565b9150509295509295909350565b600060a082019050614dc460008301886138cf565b614dd16020830187613410565b614dde6040830186613410565b8181036060830152614df08185614398565b90508181036080830152614e048184614398565b90509695505050505050565b7f4175746f6d6174652e5f6d6f64756c65496e697469616c697365643a204e6f7460008201527f20696e6974000000000000000000000000000000000000000000000000000000602082015250565b6000614e6c602583613a27565b9150614e7782614e10565b604082019050919050565b60006020820190508181036000830152614e9b81614e5f565b9050919050565b6000614eae8284614a8b565b915081905092915050565b6000608082019050614ece60008301876138cf565b614edb6020830186613410565b614ee86040830185613410565b8181036060830152614efa8184614398565b905095945050505050565b6000614f18614f138461364b565b613508565b905082815260208101848484011115614f3457614f33613646565b5b614f3f848285613a38565b509392505050565b600082601f830112614f5c57614f5b613528565b5b8151614f6c848260208601614f05565b91505092915050565b60008060408385031215614f8c57614f8b613238565b5b6000614f9a85828601614938565b925050602083015167ffffffffffffffff811115614fbb57614fba61323d565b5b614fc785828601614f47565b9150509250929050565b614fda81613f51565b8114614fe557600080fd5b50565b600081359050614ff781614fd1565b92915050565b600080600080600080600080610100898b03121561501e5761501d613238565b5b600061502c8b828c01614fe8565b985050602061503d8b828c01614fe8565b975050604061504e8b828c01614c14565b965050606061505f8b828c0161347d565b95505060806150708b828c01614c14565b94505060a089013567ffffffffffffffff8111156150915761509061323d565b5b61509d8b828c016136cd565b93505060c06150ae8b828c01614c14565b92505060e06150bf8b828c01613b25565b9150509295985092959890939650565b60006150da82613dda565b91506150e583613dda565b9250828210156150f8576150f7614165565b5b828203905092915050565b7f4175746f6d6174652e5f76616c69644d6f64756c65733a20417363206f6e6c79600082015250565b6000615139602083613a27565b915061514482615103565b602082019050919050565b600060208201905081810360008301526151688161512c565b9050919050565b7f4175746f6d6174652e5f76616c69644d6f64756c65733a204f6e6c79206f6e6560008201527f207265736f6c7665720000000000000000000000000000000000000000000000602082015250565b60006151cb602983613a27565b91506151d68261516f565b604082019050919050565b600060208201905081810360008301526151fa816151be565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061523b82613dda565b915061524683613dda565b92508261525657615255615201565b5b828206905092915050565b600081905092915050565b600061527782613a1c565b6152818185615261565b9350615291818560208601613a38565b80840191505092915050565b60006152a9828561526c565b91506152b5828461526c565b91508190509392505050565b7f4e6f4572726f7253656c6563746f720000000000000000000000000000000000600082015250565b60006152f7600f83615261565b9150615302826152c1565b600f82019050919050565b6000615319828461526c565b9150615324826152ea565b915081905092915050565b7f556e657870656374656452657475726e64617461000000000000000000000000600082015250565b6000615365601483615261565b91506153708261532f565b601482019050919050565b6000615387828461526c565b915061539282615358565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220f62c2766a6c1779df7a6877bae2b188bcfced4586217c607235fc08b8d4813fb64736f6c634300080e003300000000000000000000000008efb6d315c7e74c39620c9aaea289730f43a4290000000000000000000000000fe92c3de65c3ba8de7de38c63f09a8e48b4d0cb