0 txs
5 calls
constructor
No constructor.
functions
aggregators
viewfunction aggregators(address) view returns (bool)
feeReceiver
viewfunction feeReceiver() view returns (address)
operators
viewfunction operators(address) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
permit2
viewfunction permit2() view returns (address)
permit2DomainSeperator
viewfunction permit2DomainSeperator() view returns (bytes32)
permit2NextNonce
viewfunction permit2NextNonce(address owner) view returns (uint256 nonce)
permit2NextNonceAfter
viewfunction permit2NextNonceAfter(address owner, uint256 start) view returns (uint256 nonce)
validSignature
viewfunction validSignature(address from, bytes32 orderHash, bytes signature) view returns (bool)
addAggregator
nonpayablefunction addAggregator(address[] _aggregators)
batchSwap
payablefunction batchSwap(tuple[] swaps) payable
delAggregator
nonpayablefunction delAggregator(address _aggregator)
initialize
nonpayablefunction initialize(address _reeReceiver)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setFeeReceiver
nonpayablefunction setFeeReceiver(address _feeReceiver)
setPermit2
nonpayablefunction setPermit2(address _permit2)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateOperator
nonpayablefunction updateOperator(address _operator, bool on)
withdraw
nonpayablefunction withdraw(address token, address receiver, uint256 amount)
events
AddAggregator
event AddAggregator(address aggregator)
DelAggregator
event DelAggregator(address aggregator)
OSwap
event OSwap(address indexed from, bytes32 indexed orderHash, address swapAddress, uint256 returnAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetFeeReceiver
event SetFeeReceiver(address feeReceiver)
Unpaused
event Unpaused(address account)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50612e9c806100206000396000f3fe6080604052600436106101395760003560e01c80638d65822d116100ab578063d9caed121161006f578063d9caed121461036c578063dd4dd0801461038c578063dfb129361461039f578063efdcd974146103bf578063f2fde38b146103df578063ff3a920f146103ff57600080fd5b80638d65822d146102ce5780638da5cb5b146102ee578063b3f006741461030c578063be698cfc1461032c578063c4d66de81461034c57600080fd5b80633f4ba83a116100fd5780633f4ba83a146102345780635c975abb146102495780636d44a3b214610261578063715018a614610281578063844fb31c146102965780638456cb59146102b957600080fd5b8063101ec30a14610145578063112cdab91461016757806312261ee7146101ac57806313e7c9d8146101e457806321c3bc4c1461021457600080fd5b3661014057005b600080fd5b34801561015157600080fd5b5061016561016036600461276f565b61041f565b005b34801561017357600080fd5b5061019761018236600461276f565b60996020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101b857600080fd5b506097546101cc906001600160a01b031681565b6040516001600160a01b0390911681526020016101a3565b3480156101f057600080fd5b506101976101ff36600461276f565b609a6020526000908152604090205460ff1681565b34801561022057600080fd5b5061016561022f3660046127d1565b610474565b34801561024057600080fd5b506101656105f8565b34801561025557600080fd5b5060655460ff16610197565b34801561026d57600080fd5b5061016561027c366004612821565b61062c565b34801561028d57600080fd5b50610165610681565b3480156102a257600080fd5b506102ab6106b5565b6040519081526020016101a3565b3480156102c557600080fd5b50610165610728565b3480156102da57600080fd5b506101976102e936600461285a565b61075a565b3480156102fa57600080fd5b506033546001600160a01b03166101cc565b34801561031857600080fd5b506098546101cc906001600160a01b031681565b34801561033857600080fd5b506102ab6103473660046128e3565b6107a8565b34801561035857600080fd5b5061016561036736600461276f565b6107f3565b34801561037857600080fd5b5061016561038736600461290f565b6108c6565b61016561039a3660046127d1565b610904565b3480156103ab57600080fd5b506101656103ba36600461276f565b6109fe565b3480156103cb57600080fd5b506101656103da36600461276f565b610a80565b3480156103eb57600080fd5b506101656103fa36600461276f565b610af8565b34801561040b57600080fd5b506102ab61041a36600461276f565b610b93565b6033546001600160a01b031633146104525760405162461bcd60e51b815260040161044990612950565b60405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461049e5760405162461bcd60e51b815260040161044990612950565b60005b818110156105f35760008383838181106104bd576104bd612985565b90506020020160208101906104d2919061276f565b6001600160a01b031614156105295760405162461bcd60e51b815260206004820152601a60248201527f61676772656761746f72206973207a65726f20616464726573730000000000006044820152606401610449565b60016099600085858581811061054157610541612985565b9050602002016020810190610556919061276f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c2e997dfcda81cee806d36ea9c069913d276e873b388b126482814ef56e97308383838181106105b1576105b1612985565b90506020020160208101906105c6919061276f565b6040516001600160a01b03909116815260200160405180910390a1806105eb816129b1565b9150506104a1565b505050565b6033546001600160a01b031633146106225760405162461bcd60e51b815260040161044990612950565b61062a610ba7565b565b6033546001600160a01b031633146106565760405162461bcd60e51b815260040161044990612950565b6001600160a01b03919091166000908152609a60205260409020805460ff1916911515919091179055565b6033546001600160a01b031633146106ab5760405162461bcd60e51b815260040161044990612950565b61062a6000610c3a565b60975460408051633644e51560e01b815290516000926001600160a01b031691633644e5159160048083019260209291908290030181865afa1580156106ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072391906129cc565b905090565b6033546001600160a01b031633146107525760405162461bcd60e51b815260040161044990612950565b61062a610c8c565b600061079d858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d0792505050565b90505b949350505050565b6000600882901c8260ff80821614156107d157816107c5816129e5565b925050600090506107df565b806107db81612a0c565b9150505b6107ea858383610e55565b95945050505050565b600054610100900460ff1661080e5760005460ff1615610812565b303b155b6108755760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610449565b600054610100900460ff16158015610897576000805461ffff19166101011790555b61089f610f3a565b6108a7610f71565b6108b082610a80565b80156108c2576000805461ff00191690555b5050565b6033546001600160a01b031633146108f05760405162461bcd60e51b815260040161044990612950565b6105f36001600160a01b0384168383610fa8565b336000908152609a602052604090205460ff1661096f5760405162461bcd60e51b8152602060048201526024808201527f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260448201526330ba37b960e11b6064820152608401610449565b60655460ff16156109b55760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b60005b818110156105f3576109ec8383838181106109d5576109d5612985565b90506020028101906109e79190612a2c565b611072565b806109f6816129b1565b9150506109b8565b6033546001600160a01b03163314610a285760405162461bcd60e51b815260040161044990612950565b6001600160a01b038116600081815260996020908152604091829020805460ff1916905590519182527ff11d18001d3397a2024bf40def3a2374cd366b56ec54eba9a0f59d1ca85c27b391015b60405180910390a150565b6033546001600160a01b03163314610aaa5760405162461bcd60e51b815260040161044990612950565b609880546001600160a01b0319166001600160a01b0383169081179091556040519081527fffb40bfdfd246e95f543d08d9713c339f1d90fa9265e39b4f562f9011d7c919f90602001610a75565b6033546001600160a01b03163314610b225760405162461bcd60e51b815260040161044990612950565b6001600160a01b038116610b875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610449565b610b9081610c3a565b50565b6000610ba182600080610e55565b92915050565b60655460ff16610bf05760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610449565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60655460ff1615610cd25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610c1d3390565b6000806000610d16858561167d565b90925090506000816004811115610d2f57610d2f612a4d565b148015610d4d5750856001600160a01b0316826001600160a01b0316145b15610d5d57600192505050610e4e565b600080876001600160a01b0316631626ba7e60e01b8888604051602401610d85929190612abb565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610dc39190612ad4565b600060405180830381855afa9150503d8060008114610dfe576040519150601f19603f3d011682016040523d82523d6000602084013e610e03565b606091505b5091509150818015610e16575080516020145b8015610e4757508051630b135d3f60e11b90610e3b9083016020908101908401612ae6565b6001600160e01b031916145b9450505050505b9392505050565b60005b6097546040516313f80ad160e21b81526001600160a01b0386811660048301526001600160f81b03861660248301526000921690634fe02b4490604401602060405180830381865afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906129cc565b9050600019811415610ef757610eeb846129e5565b93506000925050610e58565b60ff831615610f065760ff83161c5b8060011660011415610f255760011c610f1e83612a0c565b9250610f06565b505060ff811660ff19600884901b1617610e4e565b600054610100900460ff16610f615760405162461bcd60e51b815260040161044990612b10565b610f696116ed565b61062a611714565b600054610100900460ff16610f985760405162461bcd60e51b815260040161044990612b10565b610fa06116ed565b61062a611744565b80156105f357610fb783611777565b1561105e576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611009576040519150601f19603f3d011682016040523d82523d6000602084013e61100e565b606091505b50509050806110585760405162461bcd60e51b815260206004820152601660248201527508cc2d2d8cac840e8de40e8e4c2dce6cccae4408aa8960531b6044820152606401610449565b50505050565b6105f36001600160a01b03841683836117c2565b61107f6020820182612b5b565b9050600214801561109e57506110986040820182612b5b565b90506003145b6110e35760405162461bcd60e51b8152602060048201526016602482015275092dcecc2d8d2c840c2dadeeadce8e640d8cadccee8d60531b6044820152606401610449565b60006110f5608083016060840161276f565b6001600160a01b0316141561114c5760405162461bcd60e51b815260206004820152601b60248201527f5377617041646472657373206973207a65726f206164647265737300000000006044820152606401610449565b60996000611160608084016060850161276f565b6001600160a01b0316815260208101919091526040016000205460ff166111c95760405162461bcd60e51b815260206004820152601a60248201527f5377617041646472657373206973206e6f7420737570706f72740000000000006044820152606401610449565b6111eb6111d9602083018361276f565b60a08301356102e960e0850185612ba5565b61122b5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964205369676e617475726560781b6044820152606401610449565b600061123a6020830183612b5b565b600081811061124b5761124b612985565b9050602002016020810190611260919061276f565b905060006112716020840184612b5b565b600181811061128257611282612985565b9050602002016020810190611297919061276f565b90506112ab826001600160a01b0316611777565b61134b576112fa6112bf602085018561276f565b836112cd6040870187612b5b565b60008181106112de576112de612985565b90506020020135868060c001906112f59190612ba5565b611825565b61134b61130d608085016060860161276f565b61131a6040860186612b5b565b600081811061132b5761132b612985565b90506020020135846001600160a01b03166118519092919063ffffffff16565b60006113606001600160a01b03831630611966565b90506000611374608086016060870161276f565b6001600160a01b03163461138b6080880188612ba5565b604051611399929190612bec565b60006040518083038185875af1925050503d80600081146113d6576040519150601f19603f3d011682016040523d82523d6000602084013e6113db565b606091505b5090915061140690506113f4608087016060880161276f565b6001600160a01b038616906000611851565b6000816114df5760985461145b906001600160a01b031661142a6040890189612b5b565b600181811061143b5761143b612985565b90506020020135876001600160a01b03166117c29092919063ffffffff16565b6114da61146b602088018861276f565b6114c961147b60408a018a612b5b565b600181811061148c5761148c612985565b905060200201358980604001906114a39190612b5b565b60008181106114b4576114b4612985565b905060200201356119f190919063ffffffff16565b6001600160a01b03881691906117c2565b611608565b6114fc836114f66001600160a01b03871630611966565b906119f1565b90508561010001356001141561155f5760985461155a906001600160a01b03166115296040890189612b5b565b600181811061153a5761153a612985565b90506020020135876001600160a01b0316610fa89092919063ffffffff16565b6115e7565b6098546115ad906001600160a01b031661157c6040890189612b5b565b600281811061158d5761158d612985565b90506020020135866001600160a01b0316610fa89092919063ffffffff16565b6115e46115bd6040880188612b5b565b60028181106115ce576115ce612985565b90506020020135826119f190919063ffffffff16565b90505b6116086115f7602088018861276f565b6001600160a01b03861690836117c2565b60a086013561161a602088018861276f565b6001600160a01b03167fdb1dbe5521d653ceda13f62b24a9193dad6eaf697b4db14cabd9d7ff4a641b2e61165460808a0160608b0161276f565b604080516001600160a01b039092168252602082018690520160405180910390a3505050505050565b6000808251604114156116b45760208301516040840151606085015160001a6116a8878285856119fd565b945094505050506116e6565b8251604014156116de57602083015160408401516116d3868383611aea565b9350935050506116e6565b506000905060025b9250929050565b600054610100900460ff1661062a5760405162461bcd60e51b815260040161044990612b10565b600054610100900460ff1661173b5760405162461bcd60e51b815260040161044990612b10565b61062a33610c3a565b600054610100900460ff1661176b5760405162461bcd60e51b815260040161044990612b10565b6065805460ff19169055565b60006001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14806117ae57506001600160a01b038216611010145b80610ba15750506001600160a01b03161590565b6040516001600160a01b0383166024820152604481018290526105f390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b1a565b61183184838388611bef565b61184a5761184a6001600160a01b038516863086611cd7565b5050505050565b61185a83611777565b1561189f5760405162461bcd60e51b8152602060048201526015602482015274082e0e0e4deecca40c6c2d8d8cac840dedc408aa89605b1b6044820152606401610449565b806118b9576105f36001600160a01b038416836000611d0f565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192d91906129cc565b905081811015611058578015611952576119526001600160a01b038516846000611d0f565b6110586001600160a01b0385168484611d0f565b600061197183611777565b1561198757506001600160a01b03811631610ba1565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156119cd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4e91906129cc565b6000610e4e8284612bfc565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611a345750600090506003611ae1565b8460ff16601b14158015611a4c57508460ff16601c14155b15611a5d5750600090506004611ae1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611ab1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611ada57600060019250925050611ae1565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01611b0b878288856119fd565b9350935050505b935093915050565b6000611b6f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e249092919063ffffffff16565b9050805160001480611b90575080806020019051810190611b909190612c13565b6105f35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610449565b60008215611ccc5760e0831480611c07575061010083145b15611c7857600080611c1a878787611e33565b9150915081611c6d57611c54816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b815250611f68565b60405162461bcd60e51b81526004016104499190612c30565b6000925050506107a0565b600080611c868686866122d9565b9150915081611cc157611c54816040518060400160405280601081526020016f02832b936b4ba19103330b4b632b21d160851b815250611f68565b6001925050506107a0565b506000949350505050565b6040516001600160a01b03808516602483015283166044820152606481018290526110589085906323b872dd60e01b906084016117ee565b801580611d895750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8791906129cc565b155b611df45760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610449565b6040516001600160a01b0383166024820152604481018290526105f390849063095ea7b360e01b906064016117ee565b60606107a084846000856123d6565b6000606060e0831415611ece576040516001600160a01b03861690611e679063d505accf60e01b9087908790602001612c43565b60408051601f1981840301815290829052611e8191612ad4565b6000604051808303816000865af19150503d8060008114611ebe576040519150601f19603f3d011682016040523d82523d6000602084013e611ec3565b606091505b509092509050611b12565b610100831415611b12576040516001600160a01b03861690611eff906323f2ebc360e21b9087908790602001612c43565b60408051601f1981840301815290829052611f1991612ad4565b6000604051808303816000865af19150503d8060008114611f56576040519150601f19603f3d011682016040523d82523d6000602084013e611f5b565b606091505b5090969095509350505050565b606060048351106121f85760208301516001600160e01b0319811662461bcd60e51b148015611f9957506044845110155b156120eb57602484810151808601820180519192909190611fbb908490612c67565b611fc59190612c67565b86511015612012576040805162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b604482015290519081900360640190fd5b84816040516020018083805190602001908083835b602083106120465780518252601f199092019160209182019101612027565b51815160209384036101000a60001901801990921691161790526508ae4e4dee4560d31b919093019081528451600690910192850191508083835b602083106120a05780518252601f199092019160209182019101612081565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040529350505050610ba1565b6001600160e01b03198116634e487b7160e01b14801561210c575083516024145b156121f657602484015183612120826124b1565b6040516020018083805190602001908083835b602083106121525780518252601f199092019160209182019101612133565b51815160209384036101000a6000190180199092169116179052650a0c2dcd2c6560d31b919093019081528451600690910192850191508083835b602083106121ac5780518252601f19909201916020918201910161218d565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b8152506001019250505060405160208183030381529060405292505050610ba1565b505b81612202846124d7565b6040516020018083805190602001908083835b602083106122345780518252601f199092019160209182019101612215565b51815160209384036101000a6000190180199092169116179052670aadcd6dcdeeedc560c31b919093019081528451600890910192850191508083835b602083106122905780518252601f199092019160209182019101612271565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b81525060010192505050604051602081830303815290604052905092915050565b60006060816122ea85870187612d48565b5092505050836001600160a01b0316816001600160a01b0316146123415760405162461bcd60e51b815260206004820152600e60248201526d14195c9b5a5d0c8819195b9a595960921b6044820152606401610449565b6097546040516001600160a01b039091169061236c9063187945bd60e11b9089908990602001612c43565b60408051601f198184030181529082905261238691612ad4565b6000604051808303816000865af19150503d80600081146123c3576040519150601f19603f3d011682016040523d82523d6000602084013e6123c8565b606091505b509097909650945050505050565b6060824710156124375760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610449565b600080866001600160a01b031685876040516124539190612ad4565b60006040518083038185875af1925050503d8060008114612490576040519150601f19603f3d011682016040523d82523d6000602084013e612495565b606091505b50915091506124a6878383876126bf565b979650505050505050565b6060610ba182604051602001808281526020019150506040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906124ff906002612e47565b61250a906002612c67565b67ffffffffffffffff81111561252257612522612c7f565b6040519080825280601f01601f19166020018201604052801561254c576020820181803683370190505b509050600360fc1b8160008151811061256757612567612985565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061259657612596612985565b60200101906001600160f81b031916908160001a90535060005b84518110156126b7578260048683815181106125ce576125ce612985565b01602001516001600160f81b031916901c60f81c601081106125f2576125f2612985565b1a60f81b82612602836002612e47565b61260d906002612c67565b8151811061261d5761261d612985565b60200101906001600160f81b031916908160001a9053508285828151811061264757612647612985565b60209101015160f81c600f166010811061266357612663612985565b1a60f81b82612673836002612e47565b61267e906003612c67565b8151811061268e5761268e612985565b60200101906001600160f81b031916908160001a905350806126af816129b1565b9150506125b0565b509392505050565b6060831561272b578251612724576001600160a01b0385163b6127245760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610449565b50816107a0565b6107a083838151156127405781518083602001fd5b8060405162461bcd60e51b81526004016104499190612c30565b6001600160a01b0381168114610b9057600080fd5b60006020828403121561278157600080fd5b8135610e4e8161275a565b60008083601f84011261279e57600080fd5b50813567ffffffffffffffff8111156127b657600080fd5b6020830191508360208260051b85010111156116e657600080fd5b600080602083850312156127e457600080fd5b823567ffffffffffffffff8111156127fb57600080fd5b6128078582860161278c565b90969095509350505050565b8015158114610b9057600080fd5b6000806040838503121561283457600080fd5b823561283f8161275a565b9150602083013561284f81612813565b809150509250929050565b6000806000806060858703121561287057600080fd5b843561287b8161275a565b935060208501359250604085013567ffffffffffffffff8082111561289f57600080fd5b818701915087601f8301126128b357600080fd5b8135818111156128c257600080fd5b8860208285010111156128d457600080fd5b95989497505060200194505050565b600080604083850312156128f657600080fd5b82356129018161275a565b946020939093013593505050565b60008060006060848603121561292457600080fd5b833561292f8161275a565b9250602084013561293f8161275a565b929592945050506040919091013590565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156129c5576129c561299b565b5060010190565b6000602082840312156129de57600080fd5b5051919050565b60006001600160f81b0382811680821415612a0257612a0261299b565b6001019392505050565b600060ff821660ff811415612a2357612a2361299b565b60010192915050565b6000823561011e19833603018112612a4357600080fd5b9190910192915050565b634e487b7160e01b600052602160045260246000fd5b60005b83811015612a7e578181015183820152602001612a66565b838111156110585750506000910152565b60008151808452612aa7816020860160208601612a63565b601f01601f19169290920160200192915050565b8281526040602082015260006107a06040830184612a8f565b60008251612a43818460208701612a63565b600060208284031215612af857600080fd5b81516001600160e01b031981168114610e4e57600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000808335601e19843603018112612b7257600080fd5b83018035915067ffffffffffffffff821115612b8d57600080fd5b6020019150600581901b36038213156116e657600080fd5b6000808335601e19843603018112612bbc57600080fd5b83018035915067ffffffffffffffff821115612bd757600080fd5b6020019150368190038213156116e657600080fd5b8183823760009101908152919050565b600082821015612c0e57612c0e61299b565b500390565b600060208284031215612c2557600080fd5b8151610e4e81612813565b602081526000610e4e6020830184612a8f565b6001600160e01b031984168152818360048301376000910160040190815292915050565b60008219821115612c7a57612c7a61299b565b500190565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff81118282101715612cb857612cb8612c7f565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ce757612ce7612c7f565b604052919050565b600060408284031215612d0157600080fd5b6040516040810181811067ffffffffffffffff82111715612d2457612d24612c7f565b6040529050808235612d358161275a565b8152602092830135920191909152919050565b600080600080848603610100811215612d6057600080fd5b6080811215612d6e57600080fd5b50612d77612c95565b612d818787612cef565b8152602060408701358183015260608701356040830152819550612da88860808901612cef565b945060c08701359150612dba8261275a565b90925060e08601359067ffffffffffffffff80831115612dd957600080fd5b828801925088601f840112612ded57600080fd5b823581811115612dff57612dff612c7f565b612e11601f8201601f19168401612cbe565b91508082528983828601011115612e2757600080fd5b808385018484013760008382840101525080935050505092959194509250565b6000816000190483118215151615612e6157612e6161299b565b50029056fea26469706673582212200d49c3b5fa71b061f48c3a30abc171c30383c6fb4772bd79cec0f0b2064d752a64736f6c634300080a0033