0 txs
0 calls
constructor
No constructor.
functions
activeBridge
viewfunction activeBridge() view returns (bytes32)
activeSwap
viewfunction activeSwap() view returns (bytes32)
bridgeParams
viewfunction bridgeParams() view returns (address bridge, bytes params)
bridgeToUse
viewfunction bridgeToUse(bytes32) view returns (string)
cowllector
viewfunction cowllector() view returns (bool sendFunds, address cowllector, uint256 amountCowllectorNeeds)
destinationAddress
viewfunction destinationAddress() view returns (address destination, bytes destinationBytes, string destinationString)
findHash
purefunction findHash(string _variable) pure returns (bytes32)
funds
viewfunction funds() view returns (address sender, bool fromInternalBalance, address recipient, bool toInternalBalance)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
minBridgeAmount
viewfunction minBridgeAmount() view returns (uint256)
native
viewfunction native() view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stable
viewfunction stable() view returns (address)
swapKind
viewfunction swapKind() view returns (uint8)
swapParams
viewfunction swapParams() view returns (address router, bytes params)
swapToUse
viewfunction swapToUse(bytes32) view returns (string)
bridgeAxelar
nonpayablefunction bridgeAxelar()
bridgeCircle
nonpayablefunction bridgeCircle()
bridgeFraxFerry
nonpayablefunction bridgeFraxFerry()
bridgeStargate
nonpayablefunction bridgeStargate()
bridgeSynapse
nonpayablefunction bridgeSynapse()
bridgezkEVM
nonpayablefunction bridgezkEVM()
bridgezkSync
nonpayablefunction bridgezkSync()
harvest
nonpayablefunction harvest()
inCaseTokensGetStuck
nonpayablefunction inCaseTokensGetStuck(address _token, bool _native)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
setActiveBridge
nonpayablefunction setActiveBridge(bytes32 _bridgeHash, tuple _params)
setActiveSwap
nonpayablefunction setActiveSwap(bytes32 _swapHash, tuple _params)
setBridgeMap
nonpayablefunction setBridgeMap(bytes32 _bridgeHash, string _function)
setCowllector
nonpayablefunction setCowllector(tuple _cowllector)
setDestinationAddress
nonpayablefunction setDestinationAddress(tuple _destination)
setMinBridgeAmount
nonpayablefunction setMinBridgeAmount(uint256 _amount)
setStable
nonpayablefunction setStable(address _stable, address _native)
setSwapHash
nonpayablefunction setSwapHash(string _hash, string _variable)
swapAlgebra
nonpayablefunction swapAlgebra()
swapBalancer
nonpayablefunction swapBalancer()
swapBeefy
nonpayablefunction swapBeefy()
swapSolidly
nonpayablefunction swapSolidly()
swapUniV2
nonpayablefunction swapUniV2()
swapUniV3
nonpayablefunction swapUniV3()
swapUniV3Deadline
nonpayablefunction swapUniV3Deadline()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Bridged
event Bridged(address indexed stable, uint256 stableBridged)
CowllectorRefill
event CowllectorRefill(uint256 amount)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetBridge
event SetBridge(bytes32 bridge, (address bridge, bytes params) params)
SetDestinationAddress
event SetDestinationAddress((address destination, bytes destinationBytes, string destinationString) destinationAddress)
SetMinBridgeAmount
event SetMinBridgeAmount(uint256 amount)
SetStable
event SetStable(address oldStable, address newStable)
SetSwap
event SetSwap(bytes32 swap, (address router, bytes params) params)
Upgraded
event Upgraded(address indexed implementation)
errors
BridgeError
error BridgeError()
FailedToSendEther
error FailedToSendEther()
IncorrectRoute
error IncorrectRoute()
NotAuthorized
error NotAuthorized()
NotEnoughEth
error NotEnoughEth()
SwapError
error SwapError()
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051615f2e6200004d60003960008181610ed401528181610f1d01528181610fea0152818161102a01526113430152615f2e6000f3fe6080604052600436106102815760003560e01c80638129fc1c1161014f578063c4b00c4f116100c1578063ee63c1e51161007a578063ee63c1e51461078a578063f1a392da1461079f578063f2fde38b146107b5578063f3f1a71a146107d5578063fe8d1ab0146107f5578063ff33d21f1461080a57600080fd5b8063c4b00c4f1461068b578063c89f2ce4146106ab578063ca3254691461071c578063cc5ea4ef14610740578063d49b640814610755578063d7d66e711461076a57600080fd5b8063a5131aaa11610113578063a5131aaa146105c2578063b54653fb146105d7578063b9f391471461062b578063bac86af514610640578063bce4547a14610660578063c3c224751461067557600080fd5b80638129fc1c14610540578063873d80ec146105555780638da5cb5b14610578578063943f8e96146105965780639c345b9f146105ac57600080fd5b80635066a747116101f35780636ae40711116101ac5780636ae407111461049f5780636d0a6891146104b457806370c75107146104e1578063715018a61461050157806373f1df3314610516578063748b3c051461052b57600080fd5b80635066a747146103eb5780635109d8b61461040b57806352d1902d14610420578063530728d51461044357806364e510a114610458578063671f6a261461047857600080fd5b80631610ee40116102455780631610ee401461034357806322be3de114610363578063284eb663146103835780633659cfe6146103a35780634641257d146103c35780634f1ef286146103d857600080fd5b80630278fb8a146102a7578063057d1ae3146102bc5780630d1f7833146102d157806311b0b42d146102e6578063154085921461032357600080fd5b366102a25760cd546001600160a01b031633146102a0576102a06146b8565b005b600080fd5b3480156102b357600080fd5b506102a061082a565b3480156102c857600080fd5b506102a06109bc565b3480156102dd57600080fd5b506102a0610c21565b3480156102f257600080fd5b5060cd54610306906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561032f57600080fd5b506102a061033e366004614716565b610e06565b34801561034f57600080fd5b506102a061035e366004614773565b610e27565b34801561036f57600080fd5b5060cc54610306906001600160a01b031681565b34801561038f57600080fd5b506102a061039e3660046147a7565b610e78565b3480156103af57600080fd5b506102a06103be366004614827565b610eca565b3480156103cf57600080fd5b506102a0610fb2565b6102a06103e63660046148d9565b610fe0565b3480156103f757600080fd5b506102a061040636600461497d565b6110b0565b34801561041757600080fd5b506102a0611143565b34801561042c57600080fd5b50610435611336565b60405190815260200161031a565b34801561044f57600080fd5b506102a06113e9565b34801561046457600080fd5b506102a061047336600461497d565b6114d6565b34801561048457600080fd5b5060c9546104929060ff1681565b60405161031a91906149e5565b3480156104ab57600080fd5b506102a0611564565b3480156104c057600080fd5b506104d46104cf3660046149f3565b61174a565b60405161031a9190614a5c565b3480156104ed57600080fd5b506104356104fc366004614a6f565b6117e4565b34801561050d57600080fd5b506102a0611818565b34801561052257600080fd5b506102a061182c565b34801561053757600080fd5b506102a061188d565b34801561054c57600080fd5b506102a06119fd565b34801561056157600080fd5b5061056a611b75565b60405161031a929190614ab0565b34801561058457600080fd5b506033546001600160a01b0316610306565b3480156105a257600080fd5b5061043560cf5481565b3480156105b857600080fd5b5061043560ce5481565b3480156105ce57600080fd5b506102a0611c16565b3480156105e357600080fd5b5060d05460d1546106069160ff8116916101009091046001600160a01b03169083565b6040805193151584526001600160a01b0390921660208401529082015260600161031a565b34801561063757600080fd5b506102a0611c82565b34801561064c57600080fd5b506102a061065b366004614ae2565b611e0e565b34801561066c57600080fd5b506102a0611f08565b34801561068157600080fd5b5061043560d95481565b34801561069757600080fd5b506102a06106a6366004614b1b565b61211c565b3480156106b757600080fd5b5060ca5460cb546106e7916001600160a01b038082169260ff600160a01b93849004811693928216929091041684565b60405161031a94939291906001600160a01b039485168152921515602084015292166040820152901515606082015260800190565b34801561072857600080fd5b50610731612131565b60405161031a93929190614b37565b34801561074c57600080fd5b506102a0612260565b34801561076157600080fd5b5061056a6123fb565b34801561077657600080fd5b506102a06107853660046149f3565b612419565b34801561079657600080fd5b506102a0612459565b3480156107ab57600080fd5b5061043560dd5481565b3480156107c157600080fd5b506102a06107d0366004614827565b6125e5565b3480156107e157600080fd5b506104d46107f03660046149f3565b61265b565b34801561080157600080fd5b506102a0612674565b34801561081657600080fd5b506102a0610825366004614b6d565b6127fd565b6108326128d9565b600060d4600101805461084490614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461087090614b9b565b80156108bd5780601f10610892576101008083540402835291602001916108bd565b820191906000526020600020905b8154815290600101906020018083116108a057829003601f168201915b50505050508060200190518101906108d59190614c61565b60cd5481519192506001600160a01b03169082906000906108f8576108f8614c95565b60200260200101516001600160a01b031614610927576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b0390911690829061094690600190614cc1565b8151811061095657610956614c95565b60200260200101516001600160a01b031614610985576040516376c252e160e11b815260040160405180910390fd5b6000610990826128f9565b9050600061099c6129b2565b60d4549091506109b6906001600160a01b03168383612a25565b50505050565b6109c46128d9565b600060d260010180546109d690614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0290614b9b565b8015610a4f5780601f10610a2457610100808354040283529160200191610a4f565b820191906000526020600020905b815481529060010190602001808311610a3257829003601f168201915b5050505050806020019051810190610a679190614cd4565b905060006040518060600160405280836020015181526020016000815260200160405180604001604052806002815260200161060f60f31b81525081525090506000610b45836000015160d66001018054610ac190614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054610aed90614b9b565b8015610b3a5780601f10610b0f57610100808354040283529160200191610b3a565b820191906000526020600020905b815481529060010190602001808311610b1d57829003601f168201915b505050505084612ac6565b9050610b5081612b47565b610b58612bba565b6000610b62612c1b565b905060d954811115610beb5760d2548451604080870151606088015191516327efc43f60e21b81526001600160a01b0390941693639fbf10fc938793610bb8939192309089906000908d9060d790600401614def565b6000604051808303818588803b158015610bd157600080fd5b505af1158015610be5573d6000803e3d6000fd5b50505050505b60cc546040518281526001600160a01b0390911690600080516020615e928339815191529060200160405180910390a250505050565b610c296128d9565b60008060d46001018054610c3c90614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6890614b9b565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b5050505050806020019051810190610ccd9190614e69565b60cd5481519294509092506001600160a01b0316908290600090610cf357610cf3614c95565b60200260200101516001600160a01b031614610d22576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290610d4190600190614cc1565b81518110610d5157610d51614c95565b60200260200101516001600160a01b031614610d80576040516376c252e160e11b815260040160405180910390fd5b6000610d8a6129b2565b90506000610d988483612c4c565b60d45460c9546040805160808101825260ca546001600160a01b03808216835260ff600160a01b9283900481161515602085015260cb548083169585019590955291909304811615156060830152949550610dff9491909316929116908490879087612e55565b5050505050565b610e0e612f9f565b600083815260db602052604090206109b6828483614fa2565b610e2f612f9f565b7f518f47fcfba5d9b707c3387a7fa4301136192d8091a43ea13ae8db7275ab5d3a81604051610e5e91906150c9565b60405180910390a18060d6610e73828261519a565b505050565b610e80612f9f565b818160dc60008787604051602001610e99929190615293565b6040516020818303038152906040528051906020012081526020019081526020016000209182610dff929190614fa2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f1b5760405162461bcd60e51b8152600401610f12906152a7565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f64600080516020615eb2833981519152546001600160a01b031690565b6001600160a01b031614610f8a5760405162461bcd60e51b8152600401610f12906152f3565b610f9381612ff9565b60408051600080825260208201909252610faf91839190613001565b50565b610fba61316c565b610fc26131dd565b6000610fcc6129b2565b1115610fda57610fda613316565b4260dd55565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036110285760405162461bcd60e51b8152600401610f12906152a7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611071600080516020615eb2833981519152546001600160a01b031690565b6001600160a01b0316146110975760405162461bcd60e51b8152600401610f12906152f3565b6110a082612ff9565b6110ac82826001613001565b5050565b6110b8612f9f565b7f25f7dd6fc737add5174192a11292dfd270c1397f9c4f641fb6336a208b5efbed82826040516110e9929190615382565b60405180910390a160cd5460d45461110d916001600160a01b039081169116613346565b60cf8290558060d461111f8282615477565b505060cd546110ac906001600160a01b031661113e6020840184614827565b6133d5565b61114b6128d9565b600060d4600101805461115d90614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461118990614b9b565b80156111d65780601f106111ab576101008083540402835291602001916111d6565b820191906000526020600020905b8154815290600101906020018083116111b957829003601f168201915b50505050508060200190518101906111ee9190615481565b905060006111fb82613462565b60cd5481519192506001600160a01b031690829060009061121e5761121e614c95565b60200260200101516001600160a01b03161461124d576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b0390911690829061126c90600190614cc1565b8151811061127c5761127c614c95565b60200260200101516001600160a01b0316146112ab576040516376c252e160e11b815260040160405180910390fd5b60006112b56129b2565b60d454604051631e82ecdb60e31b81529192506001600160a01b03169063f41766d8906112ef908490600090889030904290600401615559565b6000604051808303816000875af115801561130e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109b691908101906155ee565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113d65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610f12565b50600080516020615eb283398151915290565b6113f16128d9565b6113f9612bba565b6000611403612c1b565b905060d9548111156114a35760d25460d65460cc5460405163cd58657960e01b81526000600482018190526001600160a01b0393841660248301526044820186905291831660648201526001608482015260c060a482015260c481019190915291169063cd5865799060e4015b600060405180830381600087803b15801561148a57600080fd5b505af115801561149e573d6000803e3d6000fd5b505050505b60cc546040518281526001600160a01b0390911690600080516020615e928339815191529060200160405180910390a250565b6114de612f9f565b7f5e355369ceaccb04ff615500f99b96912ce9f237ed35ae521487c19064e2318d828260405161150f929190615382565b60405180910390a160cc5460d254611533916001600160a01b039081169116613346565b60ce8290558060d26115458282615477565b505060cc546110ac906001600160a01b031661113e6020840184614827565b61156c6128d9565b600060d4600101805461157e90614b9b565b80601f01602080910402602001604051908101604052809291908181526020018280546115aa90614b9b565b80156115f75780601f106115cc576101008083540402835291602001916115f7565b820191906000526020600020905b8154815290600101906020018083116115da57829003601f168201915b505050505080602001905181019061160f9190614c61565b60cd5481519192506001600160a01b031690829060009061163257611632614c95565b60200260200101516001600160a01b031614611661576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b0390911690829061168090600190614cc1565b8151811061169057611690614c95565b60200260200101516001600160a01b0316146116bf576040516376c252e160e11b815260040160405180910390fd5b60006116c96129b2565b60d4546040516338ed173960e01b81529192506001600160a01b0316906338ed1739906117039084906000908790309042906004016156c2565b6000604051808303816000875af1158015611722573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e7391908101906155ee565b60db602052600090815260409020805461176390614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461178f90614b9b565b80156117dc5780601f106117b1576101008083540402835291602001916117dc565b820191906000526020600020905b8154815290600101906020018083116117bf57829003601f168201915b505050505081565b600082826040516020016117f9929190615293565b6040516020818303038152906040528051906020012090505b92915050565b611820612f9f565b61182a6000613580565b565b6118346128d9565b61183c612bba565b6000611846612c1b565b905060d954811115610faf5760d25460d6546040516302e108e960e11b8152600481018490526001600160a01b0391821660248201529116906305c211d290604401611470565b6118956128d9565b600060d260010180546118a790614b9b565b80601f01602080910402602001604051908101604052809291908181526020018280546118d390614b9b565b80156119205780601f106118f557610100808354040283529160200191611920565b820191906000526020600020905b81548152906001019060200180831161190357829003601f168201915b5050505050806020019051810190611938919061574e565b9050611942612bba565b600061194c612c1b565b905060d9548111156119c85760d254825160208401516040516326ef699d60e01b81526001600160a01b03909316926326ef699d9261199592909160d8919087906004016157f4565b600060405180830381600087803b1580156119af57600080fd5b505af11580156119c3573d6000803e3d6000fd5b505050505b60cc546040518281526001600160a01b0390911690600080516020615e92833981519152906020015b60405180910390a25050565b600054610100900460ff1615808015611a1d5750600054600160ff909116105b80611a375750303b158015611a37575060005460ff166001145b611a9a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610f12565b6000805460ff191660011790558015611abd576000805461ff0019166101001790555b611ac56135d2565b611acd613601565b611ad5613928565b604080516080810182523080825260006020830181905292820181905260609091019190915260ca805460ff60a01b199092166001600160a81b0319928316811790915560cb805490921617905560c9805460ff191690558015610faf576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60d4805460d580546001600160a01b039092169291611b9390614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054611bbf90614b9b565b8015611c0c5780601f10611be157610100808354040283529160200191611c0c565b820191906000526020600020905b815481529060010190602001808311611bef57829003601f168201915b5050505050905082565b611c1e6128d9565b611c26612bba565b6000611c30612c1b565b905060d9548111156114a35760d25460d65460cc54604051636ce5768960e11b81526001600160a01b03928316600482015290821660248201526044810184905291169063d9caed1290606401611470565b611c8a6128d9565b600060d46001018054611c9c90614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054611cc890614b9b565b8015611d155780601f10611cea57610100808354040283529160200191611d15565b820191906000526020600020905b815481529060010190602001808311611cf857829003601f168201915b5050505050806020019051810190611d2d919061583f565b90506000611d3a82613c31565b60cd5481519192506001600160a01b0316908290600090611d5d57611d5d614c95565b60200260200101516001600160a01b031614611d8c576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290611dab90600190614cc1565b81518110611dbb57611dbb614c95565b60200260200101516001600160a01b031614611dea576040516376c252e160e11b815260040160405180910390fd5b6000611df46129b2565b60d4549091506109b6906001600160a01b03168483612a25565b611e16612f9f565b8015611e87576040514790600090339083908381818185875af1925050503d8060008114611e60576040519150601f19603f3d011682016040523d82523d6000602084013e611e65565b606091505b50509050806109b657604051630dcf35db60e41b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef29190615887565b9050610e736001600160a01b0384163383613d34565b611f106128d9565b600060d46001018054611f2290614b9b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4e90614b9b565b8015611f9b5780601f10611f7057610100808354040283529160200191611f9b565b820191906000526020600020905b815481529060010190602001808311611f7e57829003601f168201915b5050505050806020019051810190611fb39190614c61565b60cd5481519192506001600160a01b0316908290600090611fd657611fd6614c95565b60200260200101516001600160a01b031614612005576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b03909116908290600190811061202957612029614c95565b60200260200101516001600160a01b031614612058576040516376c252e160e11b815260040160405180910390fd5b60006120626129b2565b60d45483519192506001600160a01b03169063df791e5090849060009061208b5761208b614c95565b6020026020010151846001815181106120a6576120a6614c95565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260448101849052606401600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b505050505050565b612124612f9f565b8060d0610e7382826158a0565b60d6805460d780546001600160a01b03909216929161214f90614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461217b90614b9b565b80156121c85780601f1061219d576101008083540402835291602001916121c8565b820191906000526020600020905b8154815290600101906020018083116121ab57829003601f168201915b5050505050908060020180546121dd90614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461220990614b9b565b80156122565780601f1061222b57610100808354040283529160200191612256565b820191906000526020600020905b81548152906001019060200180831161223957829003601f168201915b5050505050905083565b6122686128d9565b600060d2600101805461227a90614b9b565b80601f01602080910402602001604051908101604052809291908181526020018280546122a690614b9b565b80156122f35780601f106122c8576101008083540402835291602001916122f3565b820191906000526020600020905b8154815290600101906020018083116122d657829003601f168201915b505050505080602001905181019061230b9190615914565b9050612315612bba565b600061231f612c1b565b905060d9548111156119c85760d25460d6548351606085015160208601516040870151608088015160a08901516001600160a01b0397881697639f33072797169594939291899160009142918361237884610e106159ad565b6040516001600160e01b031960e08f901b1681526001600160a01b039c8d166004820152602481019b909b529a90981660448a015260ff96871660648a0152948616608489015260a488019390935260c487019190915260e486015282166101048501521661012483015261014482015261016481019190915261018401611995565b60d2805460d380546001600160a01b039092169291611b9390614b9b565b612421612f9f565b6040518181527ff4f47d85dc8207b9d9c6dfd289d4f5008b33df899eda3da90658d75c351e54759060200160405180910390a160d955565b6124616128d9565b600060d4600101805461247390614b9b565b80601f016020809104026020016040519081016040528092919081815260200182805461249f90614b9b565b80156124ec5780601f106124c1576101008083540402835291602001916124ec565b820191906000526020600020905b8154815290600101906020018083116124cf57829003601f168201915b5050505050806020019051810190612504919061583f565b9050600061251182613c31565b60cd5481519192506001600160a01b031690829060009061253457612534614c95565b60200260200101516001600160a01b031614612563576040516376c252e160e11b815260040160405180910390fd5b60cc5481516001600160a01b0390911690829061258290600190614cc1565b8151811061259257612592614c95565b60200260200101516001600160a01b0316146125c1576040516376c252e160e11b815260040160405180910390fd5b60006125cb6129b2565b60d4549091506109b6906001600160a01b03168483613d97565b6125ed612f9f565b6001600160a01b0381166126525760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f12565b610faf81613580565b60dc602052600090815260409020805461176390614b9b565b61267c6128d9565b600060d2600101805461268e90614b9b565b80601f01602080910402602001604051908101604052809291908181526020018280546126ba90614b9b565b80156127075780601f106126dc57610100808354040283529160200191612707565b820191906000526020600020905b8154815290600101906020018083116126ea57829003601f168201915b505050505080602001905181019061271f91906159c0565b9050612729612bba565b6000612733612c1b565b905060d9548111156119c85760d25460d65460cc546040516337e9a82760e11b81526004810185905263ffffffff861660248201526001600160a01b0392831660448201529082166064820152911690636fd3504e906084016020604051808303816000875af11580156127ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127cf91906159e6565b5060cc546040518281526001600160a01b0390911690600080516020615e92833981519152906020016119f1565b612805612f9f565b60da5460ff1661284a5760cc80546001600160a01b039384166001600160a01b03199182161790915560cd805492909316911617905560da805460ff19166001179055565b60cc54604080516001600160a01b03928316815291841660208301527f4239efeca0761c0d170bd15a6e85542dbe0376ba0f5f1551b39c6045866ff735910160405180910390a160cc5460d2546128ad916001600160a01b039081169116613346565b60cc80546001600160a01b0319166001600160a01b0384811691821790925560d2546110ac92166133d5565b33301461182a5760405163ea8e4eb560e01b815260040160405180910390fd5b60608160008151811061290e5761290e614c95565b602002602001015160405160200161293e919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f19818403018152919052905060015b82518110156129ac578183828151811061296f5761296f614c95565b6020026020010151604051602001612988929190615a0f565b604051602081830303815290604052915080806129a490615a46565b915050612953565b50919050565b60cd546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a08231906024015b602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a209190615887565b905090565b6040805160a081018252838152306020820152428183015260608101839052600060808201819052915163c04b8d5960e01b81526001600160a01b0386169063c04b8d5990612a78908490600401615a5f565b6020604051808303816000875af1158015612a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612abb9190615887565b9150505b9392505050565b60d254604051630a51236960e01b81526000916001600160a01b031690630a51236990612afe90879060019088908890600401615ab7565b6040805180830381865afa158015612b1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3e9190615b01565b50949350505050565b6000612b516129b2565b90508181106110ac5760cd54604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b158015612ba057600080fd5b505af1925050508015612bb1575060015b156110ac575050565b60cf54600090815260dc6020526040908190208151600481526024810192839052610faf929091612bea91615b25565b6040519081900390206020820180516001600160e01b03166001600160e01b03199092169190911790523090613de4565b60cc546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a08231906024016129df565b6060600083516001600160401b03811115612c6957612c69614844565b604051908082528060200260200182016040528015612ccf57816020015b612cbc6040518060a0016040528060008019168152602001600081526020016000815260200160008152602001606081525090565b815260200190600190039081612c875790505b50905060005b8451811015612e4d5780600003612d99576040518060a0016040528086600081518110612d0457612d04614c95565b602002602001015160000151815260200186600081518110612d2857612d28614c95565b602002602001015160200151815260200186600081518110612d4c57612d4c614c95565b60200260200101516040015181526020018581526020016040518060200160405280600081525081525082600081518110612d8957612d89614c95565b6020026020010181905250612e45565b6040518060a00160405280868381518110612db657612db6614c95565b6020026020010151600001518152602001868381518110612dd957612dd9614c95565b6020026020010151602001518152602001868381518110612dfc57612dfc614c95565b60200260200101516040015181526020016000815260200160405180602001604052806000815250815250828281518110612e3957612e39614c95565b60200260200101819052505b600101612cd5565b509392505050565b6060600084516001600160401b03811115612e7257612e72614844565b604051908082528060200260200182016040528015612e9b578160200160208202803683370190505b50905060005b8551811015612f155780600003612ed7578382600081518110612ec657612ec6614c95565b602002602001018181525050612f0d565b60018651612ee59190614cc1565b8103612f0d57600019828281518110612f0057612f00614c95565b6020026020010181815250505b600101612ea1565b5060405163945bcec960e01b81526001600160a01b0389169063945bcec990612f4c908a908a908a908a9088904290600401615bcb565b6000604051808303816000875af1158015612f6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612f9391908101906155ee565b98975050505050505050565b6033546001600160a01b0316331461182a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610f12565b610faf612f9f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561303457610e7383613e28565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561308e575060408051601f3d908101601f1916820190925261308b91810190615887565b60015b6130f15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610f12565b600080516020615eb283398151915281146131605760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610f12565b50610e73838383613ec4565b478015610faf5760cd60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b1580156131c357600080fd5b505af1935050505080156131d5575060015b15610faf5750565b60d05460ff161561182a5760cd5460d0546040516370a0823160e01b81526101009091046001600160a01b03908116600483015260009216906370a0823190602401602060405180830381865afa15801561323c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132609190615887565b60d05461327c919061010090046001600160a01b0316316159ad565b60d154909150811015610faf5760006132936129b2565b905060008260d0600101546132a89190614cc1565b90508181116132b757806132b9565b815b60d05460cd549192506132de916001600160a01b039081169161010090041683613d34565b6040518181527feb722ef3dbafc24e43f4627f9b306563a93d546865b49eb1e64fbaffdab73d5c9060200160405180910390a1505050565b60ce54600090815260db6020526040908190208151600481526024810192839052610faf929091612bea91615b25565b604051636eb1769f60e11b81523060048201526001600160a01b0382811660248301526000919084169063dd62ed3e90604401602060405180830381865afa158015613396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133ba9190615887565b11156110ac576110ac6001600160a01b038316826000613ee9565b604051636eb1769f60e11b81523060048201526001600160a01b03828116602483015283169063dd62ed3e90604401602060405180830381865afa158015613421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134459190615887565b6000036110ac576110ac6001600160a01b03831682600019613ee9565b606060008251600161347491906159ad565b6001600160401b0381111561348b5761348b614844565b6040519080825280602002602001820160405280156134b4578160200160208202803683370190505b509050826000815181106134ca576134ca614c95565b602002602001015160000151816000815181106134e9576134e9614c95565b60200260200101906001600160a01b031690816001600160a01b03168152505060005b83518110156135795783818151811061352757613527614c95565b6020026020010151602001518282600161354191906159ad565b8151811061355157613551614c95565b6001600160a01b039092166020928302919091019091015261357281615a46565b905061350c565b5092915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166135f95760405162461bcd60e51b8152600401610f1290615ce4565b61182a613ffe565b6040518060400160405280600e81526020016d627269646765436972636c65282960901b81525060db600060405160200161365690602080825260069082015265434952434c4560d01b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816136869190615d2f565b506040518060400160405280601081526020016f6272696467655374617267617465282960801b81525060db60006040516020016136e090602080825260089082015267535441524741544560c01b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816137109190615d2f565b506040518060400160405280600e81526020016d6272696467654178656c6172282960901b81525060db60006040516020016137669060208082526006908201526520ac22a620a960d11b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816137969190615d2f565b506040518060400160405280600f81526020016e62726964676553796e61707365282960881b81525060db60006040516020016137ee9060208082526007908201526653594e4150534560c81b604082015260600190565b604051602081830303815290604052805190602001208152602001908152602001600020908161381e9190615d2f565b506040518060400160405280600d81526020016c6272696467657a6b45564d282960981b81525060db6000604051602001613872906020808252600590820152647a6b45564d60d81b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816138a29190615d2f565b506040518060400160405280600e81526020016d6272696467657a6b53796e63282960901b81525060db60006040516020016138f8906020808252600690820152657a6b53594e4360d01b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081610faf9190615d2f565b6040518060400160405280600b81526020016a73776170556e695632282960a81b81525060dc600060405160200161397e906020808252600a90820152692aa724a9aba0a82fab1960b11b604082015260600190565b60405160208183030381529060405280519060200120815260200190815260200160002090816139ae9190615d2f565b506040518060400160405280600d81526020016c73776170536f6c69646c79282960981b81525060dc6000604051602001613a0490602080825260079082015266534f4c49444c5960c81b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613a349190615d2f565b506040518060400160405280600b81526020016a73776170556e695633282960a81b81525060dc6000604051602001613a8b906020808252600a9082015269554e49535741505f563360b01b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613abb9190615d2f565b506040518060400160405280601381526020017273776170556e695633446561646c696e65282960681b81525060dc6000604051602001613b2390602080825260139082015272554e49535741505f56335f444541444c494e4560681b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613b539190615d2f565b506040518060400160405280600d81526020016c73776170416c6765627261282960981b81525060dc6000604051602001613ba990602080825260079082015266414c474542524160c81b604082015260600190565b6040516020818303038152906040528051906020012081526020019081526020016000209081613bd99190615d2f565b506040518060400160405280600e81526020016d7377617042616c616e636572282960901b81525060dc60006040516020016138f8906020808252600890820152672120a620a721a2a960c11b604082015260600190565b60606000613c3e8361402e565b90506000613c4d8260016159ad565b6001600160401b03811115613c6457613c64614844565b604051908082528060200260200182016040528015613c8d578160200160208202803683370190505b50905060005b82811015612e4d57600080613ca787614054565b509150915081848481518110613cbf57613cbf614c95565b6001600160a01b03909216602092830291909101909101528084613ce48560016159ad565b81518110613cf457613cf4614c95565b60200260200101906001600160a01b031690816001600160a01b031681525050613d1d87614090565b965050508080613d2c90615a46565b915050613c93565b6040516001600160a01b038316602482015260448101829052610e7390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526140c1565b60408051608081018252838152306020820152808201839052600060608201819052915163b858183f60e01b81526001600160a01b0386169063b858183f90612a78908490600401615de8565b6060612abf838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250614196565b6001600160a01b0381163b613e955760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610f12565b600080516020615eb283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b613ecd83614273565b600082511180613eda5750805b15610e73576109b683836142b3565b801580613f635750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015613f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f619190615887565b155b613fce5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610f12565b6040516001600160a01b038316602482015260448101829052610e7390849063095ea7b360e01b90606401613d60565b600054610100900460ff166140255760405162461bcd60e51b8152600401610f1290615ce4565b61182a33613580565b600061403c600360146159ad565b6014835161404a9190614cc1565b6118129190615e36565b6000808061406284826142d8565b925061406f84601461438c565b9050614087614080600360146159ad565b85906142d8565b91509193909250565b60606118126140a1600360146159ad565b6140ad600360146159ad565b84516140b99190614cc1565b849190614437565b6000614116826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661458e9092919063ffffffff16565b90508051600014806141375750808060200190518101906141379190615e58565b610e735760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f12565b6060824710156141f75760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f12565b600080866001600160a01b031685876040516142139190615e75565b60006040518083038185875af1925050503d8060008114614250576040519150601f19603f3d011682016040523d82523d6000602084013e614255565b606091505b50915091506142668783838761459d565b925050505b949350505050565b61427c81613e28565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612abf8383604051806060016040528060278152602001615ed260279139614616565b6000816142e68160146159ad565b10156143295760405162461bcd60e51b8152602060048201526012602482015271746f416464726573735f6f766572666c6f7760701b6044820152606401610f12565b6143348260146159ad565b8351101561437c5760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610f12565b500160200151600160601b900490565b60008161439a8160036159ad565b10156143dc5760405162461bcd60e51b8152602060048201526011602482015270746f55696e7432345f6f766572666c6f7760781b6044820152606401610f12565b6143e78260036159ad565b8351101561442e5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b6044820152606401610f12565b50016003015190565b60608161444581601f6159ad565b10156144845760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f12565b8261448f83826159ad565b10156144ce5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610f12565b6144d882846159ad565b8451101561451c5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610f12565b60608215801561453b5760405191506000825260208201604052612b3e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561457457805183526020928301920161455c565b5050858452601f01601f1916604052505090509392505050565b606061426b8484600085614196565b6060831561460c578251600003614605576001600160a01b0385163b6146055760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f12565b508161426b565b61426b838361468e565b6060600080856001600160a01b0316856040516146339190615e75565b600060405180830381855af49150503d806000811461466e576040519150601f19603f3d011682016040523d82523d6000602084013e614673565b606091505b50915091506146848683838761459d565b9695505050505050565b81511561469e5781518083602001fd5b8060405162461bcd60e51b8152600401610f129190614a5c565b634e487b7160e01b600052600160045260246000fd5b60008083601f8401126146e057600080fd5b5081356001600160401b038111156146f757600080fd5b60208301915083602082850101111561470f57600080fd5b9250929050565b60008060006040848603121561472b57600080fd5b8335925060208401356001600160401b0381111561474857600080fd5b614754868287016146ce565b9497909650939450505050565b6000606082840312156129ac57600080fd5b60006020828403121561478557600080fd5b81356001600160401b0381111561479b57600080fd5b61426b84828501614761565b600080600080604085870312156147bd57600080fd5b84356001600160401b03808211156147d457600080fd5b6147e0888389016146ce565b909650945060208701359150808211156147f957600080fd5b50614806878288016146ce565b95989497509550505050565b6001600160a01b0381168114610faf57600080fd5b60006020828403121561483957600080fd5b8135612abf81614812565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561487c5761487c614844565b60405290565b604051601f8201601f191681016001600160401b03811182821017156148aa576148aa614844565b604052919050565b60006001600160401b038211156148cb576148cb614844565b50601f01601f191660200190565b600080604083850312156148ec57600080fd5b82356148f781614812565b915060208301356001600160401b0381111561491257600080fd5b8301601f8101851361492357600080fd5b8035614936614931826148b2565b614882565b81815286602083850101111561494b57600080fd5b816020840160208301376000602083830101528093505050509250929050565b6000604082840312156129ac57600080fd5b6000806040838503121561499057600080fd5b8235915060208301356001600160401b038111156149ad57600080fd5b6149b98582860161496b565b9150509250929050565b600281106149e157634e487b7160e01b600052602160045260246000fd5b9052565b6020810161181282846149c3565b600060208284031215614a0557600080fd5b5035919050565b60005b83811015614a27578181015183820152602001614a0f565b50506000910152565b60008151808452614a48816020860160208601614a0c565b601f01601f19169290920160200192915050565b602081526000612abf6020830184614a30565b60008060208385031215614a8257600080fd5b82356001600160401b03811115614a9857600080fd5b614aa4858286016146ce565b90969095509350505050565b6001600160a01b038316815260406020820181905260009061426b90830184614a30565b8015158114610faf57600080fd5b60008060408385031215614af557600080fd5b8235614b0081614812565b91506020830135614b1081614ad4565b809150509250929050565b600060608284031215614b2d57600080fd5b612abf8383614761565b6001600160a01b0384168152606060208201819052600090614b5b90830185614a30565b82810360408401526146848185614a30565b60008060408385031215614b8057600080fd5b8235614b8b81614812565b91506020830135614b1081614812565b600181811c90821680614baf57607f821691505b6020821081036129ac57634e487b7160e01b600052602260045260246000fd5b60006001600160401b03821115614be857614be8614844565b5060051b60200190565b600082601f830112614c0357600080fd5b81516020614c1361493183614bcf565b82815260059290921b84018101918181019086841115614c3257600080fd5b8286015b84811015614c56578051614c4981614812565b8352918301918301614c36565b509695505050505050565b600060208284031215614c7357600080fd5b81516001600160401b03811115614c8957600080fd5b61426b84828501614bf2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561181257611812614cab565b600060808284031215614ce657600080fd5b604051608081018181106001600160401b0382111715614d0857614d08614844565b604052825161ffff81168114614d1d57600080fd5b808252506020830151602082015260408301516040820152606083015160608201528091505092915050565b8051825260208101516020830152600060408201516060604085015261426b6060850182614a30565b60008154614d7f81614b9b565b808552602060018381168015614d9c5760018114614db657614de4565b60ff1985168884015283151560051b880183019550614de4565b866000528260002060005b85811015614ddc5781548a8201860152908301908401614dc1565b890184019650505b505050505092915050565b600061012061ffff8b16835289602084015288604084015260018060a01b03881660608401528660808401528560a08401528060c0840152614e3381840186614d49565b905082810360e0840152614e478185614d72565b8381036101009094019390935250506000815260200198975050505050505050565b6000806040808486031215614e7d57600080fd5b83516001600160401b0380821115614e9457600080fd5b818601915086601f830112614ea857600080fd5b81516020614eb861493183614bcf565b8281526060928302850182019282820191908b851115614ed757600080fd5b958301955b84871015614f1f5780878d031215614ef45760008081fd5b614efc61485a565b875181528488015185820152888801518982015283529586019591830191614edc565b5091890151919750909450505080831115614f3957600080fd5b50506149b985828601614bf2565b601f821115610e7357600081815260208120601f850160051c81016020861015614f6e5750805b601f850160051c820191505b8181101561211457828155600101614f7a565b600019600383901b1c191660019190911b1790565b6001600160401b03831115614fb957614fb9614844565b614fcd83614fc78354614b9b565b83614f47565b6000601f841160018114614ffb5760008515614fe95750838201355b614ff38682614f8d565b845550610dff565b600083815260209020601f19861690835b8281101561502c578685013582556020948501946001909201910161500c565b50868210156150495760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6000808335601e1984360301811261507257600080fd5b83016020810192503590506001600160401b0381111561509157600080fd5b80360382131561470f57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600082356150da81614812565b6001600160a01b03166020838101919091526150f89084018461505b565b6060604085015261510d6080850182846150a0565b91505061511d604085018561505b565b848303601f190160608601526146848382846150a0565b80546001600160a01b0319166001600160a01b0392909216919091179055565b6000808335601e1984360301811261516b57600080fd5b8301803591506001600160401b0382111561518557600080fd5b60200191503681900382131561470f57600080fd5b81356151a581614812565b6151af8183615134565b50600180820160206151c381860186615154565b6001600160401b038111156151da576151da614844565b6151ee816151e88654614b9b565b86614f47565b6000601f82116001811461521c576000831561520a5750838201355b6152148482614f8d565b875550615271565b600086815260209020601f19841690835b8281101561524a578685013582559387019390890190870161522d565b50848210156152675760001960f88660031b161c19848701351681555b50508683881b0186555b505050505050506152856040830183615154565b6109b6818360028601614fa2565b60208152600061426b6020830184866150a0565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000813561534c81614812565b6001600160a01b03168352615364602083018361505b565b604060208601526153796040860182846150a0565b95945050505050565b82815260406020820152600061426b604083018461533f565b81356153a681614812565b6153b08183615134565b50600180820160206153c481860186615154565b6001600160401b038111156153db576153db614844565b6153e9816151e88654614b9b565b6000601f82116001811461541757600083156154055750838201355b61540f8482614f8d565b87555061546c565b600086815260209020601f19841690835b828110156154455786850135825593870193908901908701615428565b50848210156154625760001960f88660031b161c19848701351681555b50508683881b0186555b505050505050505050565b6110ac828261539b565b6000602080838503121561549457600080fd5b82516001600160401b038111156154aa57600080fd5b8301601f810185136154bb57600080fd5b80516154c961493182614bcf565b818152606091820283018401918482019190888411156154e857600080fd5b938501935b8385101561554d5780858a0312156155055760008081fd5b61550d61485a565b855161551881614812565b81528587015161552781614812565b8188015260408681015161553a81614ad4565b90820152835293840193918501916154ed565b50979650505050505050565b600060a0820187835260208781850152604060a08186015282885180855260c087019150838a01945060005b818110156155c257855180516001600160a01b03908116855286820151168685015284015115158484015294840194606090920191600101615585565b50506001600160a01b038816606087015293506155de92505050565b8260808301529695505050505050565b6000602080838503121561560157600080fd5b82516001600160401b0381111561561757600080fd5b8301601f8101851361562857600080fd5b805161563661493182614bcf565b81815260059190911b8201830190838101908783111561565557600080fd5b928401925b828410156156735783518252928401929084019061565a565b979650505050505050565b600081518084526020808501945080840160005b838110156156b75781516001600160a01b031687529582019590820190600101615692565b509495945050505050565b85815284602082015260a0604082015260006156e160a083018661567e565b6001600160a01b0394909416606083015250608001529392505050565b600061570c614931846148b2565b905082815283838301111561572057600080fd5b612abf836020830184614a0c565b600082601f83011261573f57600080fd5b612abf838351602085016156fe565b60006020828403121561576057600080fd5b81516001600160401b038082111561577757600080fd5b908301906040828603121561578b57600080fd5b6040516040810181811083821117156157a6576157a6614844565b6040528251828111156157b857600080fd5b6157c48782860161572e565b8252506020830151828111156157d957600080fd5b6157e58782860161572e565b60208301525095945050505050565b6080815260006158076080830187614a30565b82810360208401526158198187614d72565b9050828103604084015261582d8186614a30565b91505082606083015295945050505050565b60006020828403121561585157600080fd5b81516001600160401b0381111561586757600080fd5b8201601f8101841361587857600080fd5b61426b848251602084016156fe565b60006020828403121561589957600080fd5b5051919050565b81356158ab81614ad4565b815460ff19811691151560ff16918217835560208401356158cb81614812565b6001600160a81b03199190911690911760089190911b610100600160a81b03161781556040919091013560019190910155565b805160ff8116811461590f57600080fd5b919050565b600060c0828403121561592657600080fd5b60405160c081018181106001600160401b038211171561594857615948614844565b6040528251815261595b602084016158fe565b602082015261596c604084016158fe565b6040820152606083015161597f81614812565b6060820152615990608084016158fe565b60808201526159a160a084016158fe565b60a08201529392505050565b8082018082111561181257611812614cab565b6000602082840312156159d257600080fd5b815163ffffffff81168114612abf57600080fd5b6000602082840312156159f857600080fd5b81516001600160401b0381168114612abf57600080fd5b60008351615a21818460208801614a0c565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600060018201615a5857615a58614cab565b5060010190565b602081526000825160a06020840152615a7b60c0840182614a30565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b61ffff8516815260ff8416602082015260a060408201526000615add60a0830185614a30565b82810380606085015260008252602081016080850152506156736020820185614d49565b60008060408385031215615b1457600080fd5b505080516020909101519092909150565b6000808354615b3381614b9b565b60018281168015615b4b5760018114615b6057615b8f565b60ff1984168752821515830287019450615b8f565b8760005260208060002060005b85811015615b865781548a820152908401908201615b6d565b50505082870194505b50929695505050505050565b600081518084526020808501945080840160005b838110156156b757815187529582019590820190600101615baf565b6000610120808301615bdd848b6149c3565b60208481019290925288519081905261014080850192600583901b8601909101918a820160005b82811015615c675787850361013f190186528151805186528481015185870152604080820151908701526060808201519087015260809081015160a091870182905290615c5381880183614a30565b978601979650505090830190600101615c04565b505050508381036040850152615c7d818961567e565b915050615cbd606084018780516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b82810360e0840152615ccf8186615b9b565b91505082610100830152979650505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b81516001600160401b03811115615d4857615d48614844565b615d5c81615d568454614b9b565b84614f47565b602080601f831160018114615d8b5760008415615d795750858301515b615d838582614f8d565b865550612114565b600085815260208120601f198616915b82811015615dba57888601518255948401946001909101908401615d9b565b5085821015615dd85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825160806020840152615e0460a0840182614a30565b905060018060a01b03602085015116604084015260408401516060840152606084015160808401528091505092915050565b600082615e5357634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215615e6a57600080fd5b8151612abf81614ad4565b60008251615e87818460208701614a0c565b919091019291505056fe48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca40730360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212207bfaae3a13c501e7deb396ff77af699fff644b3bb8ad447f592eebb285bcebc364736f6c63430008130033