0 txs
0 calls
constructor
No constructor.
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
AUCTIONEER
viewfunction AUCTIONEER() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
EXECUTIVE_ROLE
viewfunction EXECUTIVE_ROLE() view returns (bytes32)
getAddressExecutive
viewfunction getAddressExecutive() view returns (address)
getAddressGovernor
viewfunction getAddressGovernor() view returns (address)
getAddressGuardian
viewfunction getAddressGuardian() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
GOVERNOR_ROLE
viewfunction GOVERNOR_ROLE() view returns (bytes32)
GUARDIAN_ROLE
viewfunction GUARDIAN_ROLE() view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
previewTokenSplit
viewfunction previewTokenSplit(uint256 stableCoinAmount, uint256 cycles, address addressBaseStable) view returns (uint256 collateralInBaseStableAmount, uint256 coinsToPayForArchInStableAmount)
previewZapInAmount
viewfunction previewZapInAmount(uint256 stableCoinAmount, uint256 cycles, address addressBaseStable, bool useUserArch) view returns (uint256 ousdCollateralAmountReturn, uint256 archTokenAmountReturn)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
acceptAdminRole
nonpayablefunction acceptAdminRole()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAdmin
nonpayablefunction setAdmin(address newAdmin)
setAuctioneer
nonpayablefunction setAuctioneer(address newAuctioneer)
setDependencies
nonpayablefunction setDependencies(address addressLevEngine, address addressArchToken, address addressParamStore)
setExecutive
nonpayablefunction setExecutive(address newExecutive)
setGovernor
nonpayablefunction setGovernor(address newGovernor)
setGuardian
nonpayablefunction setGuardian(address newGuardian)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
zapIn
nonpayablefunction zapIn(uint256 stableCoinAmount, uint256 cycles, uint256 archMinAmount, uint256 ousdMinAmount, uint16 maxSlippageAllowed, address addressBaseStable, bool useUserArch) returns (uint256)
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Upgraded
event Upgraded(address indexed implementation)
ZapIn
event ZapIn(uint256 positionID, uint256 totalStableAmount, address baseStableAddress, bool usedUserArch)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b5060805161373761004c600039600081816108490152818161088901528181610a3201528181610a720152610b0101526137376000f3fe6080604052600436106101c15760003560e01c8063704b6c02116100f7578063aecf62f011610095578063cfe4bd0311610064578063cfe4bd031461055b578063d547741f14610579578063df8a541714610599578063e6e8f7ca146105b757600080fd5b8063aecf62f0146104b3578063b52d326c146104e7578063c42cf53514610507578063ccc574901461052757600080fd5b80638a0dac4a116100d15780638a0dac4a146104495780638c3d73011461046957806391d148541461047e578063a217fddf1461049e57600080fd5b8063704b6c02146103f257806375b238fc146104125780638129fc1c1461043457600080fd5b806336568abe116101645780634f1ef2861161013e5780634f1ef2861461037857806352d1902d1461038b5780636140a402146103a0578063657d81f7146103d257600080fd5b806336568abe146103185780633659cfe6146103385780634b662b5a1461035857600080fd5b8063248a9ca3116101a0578063248a9ca31461025f57806324ea54f41461028f5780632f2ff15d146102c3578063353d0c41146102e357600080fd5b8062ede7e4146101c657806301ffc9a7146101e857806323e507f71461021d575b600080fd5b3480156101d257600080fd5b506101e66101e1366004612ecc565b6105d7565b005b3480156101f457600080fd5b50610208610203366004612ee7565b6106ea565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b506102517f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a781565b604051908152602001610214565b34801561026b57600080fd5b5061025161027a366004612f11565b60009081526065602052604090206001015490565b34801561029b57600080fd5b506102517f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504181565b3480156102cf57600080fd5b506101e66102de366004612f2a565b610721565b3480156102ef57600080fd5b506103036102fe366004612f56565b61074b565b60408051928352602083019190915201610214565b34801561032457600080fd5b506101e6610333366004612f2a565b610774565b34801561034457600080fd5b506101e6610353366004612ecc565b61083f565b34801561036457600080fd5b506101e6610373366004612ecc565b61091e565b6101e6610386366004612fd2565b610a28565b34801561039757600080fd5b50610251610af4565b3480156103ac57600080fd5b506099546001600160a01b03165b6040516001600160a01b039091168152602001610214565b3480156103de57600080fd5b506102516103ed366004613086565b610ba7565b3480156103fe57600080fd5b506101e661040d366004612ecc565b6111d6565b34801561041e57600080fd5b506102516000805160206136e283398151915281565b34801561044057600080fd5b506101e661128e565b34801561045557600080fd5b506101e6610464366004612ecc565b6113e1565b34801561047557600080fd5b506101e66114eb565b34801561048a57600080fd5b50610208610499366004612f2a565b6115be565b3480156104aa57600080fd5b50610251600081565b3480156104bf57600080fd5b506102517fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d81565b3480156104f357600080fd5b506101e66105023660046130fd565b6115e9565b34801561051357600080fd5b506101e6610522366004612ecc565b611898565b34801561053357600080fd5b506102517f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5581565b34801561056757600080fd5b50609a546001600160a01b03166103ba565b34801561058557600080fd5b506101e6610594366004612f2a565b6119a2565b3480156105a557600080fd5b506098546001600160a01b03166103ba565b3480156105c357600080fd5b506103036105d2366004613137565b6119c7565b6105ef6000805160206136e2833981519152336115be565b6106145760405162461bcd60e51b815260040161060b9061317f565b60405180910390fd5b6097546001600160a01b0390811690821681036106735760405162461bcd60e51b815260206004820152601b60248201527f4e65772041756374696f6e656572206d75737420626520646966660000000000604482015260640161060b565b61069d7f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a783611b43565b6106c77f1d693f62a755e2b3c6494da41af454605b9006057cb3c79b6adda1378f2a50a782611bc9565b50609780546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b03198216637965db0b60e01b148061071b57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526065602052604090206001015461073c81611c30565b6107468383611b43565b505050565b600080600061075984611c3a565b905061076786868387611d0c565b9250925050935093915050565b61078c6000805160206136e2833981519152336115be565b156107d95760405162461bcd60e51b815260206004820152601b60248201527f41646d696e2063616e74207573652072656e6f756e6365526f6c650000000000604482015260640161060b565b6001600160a01b03811633146108315760405162461bcd60e51b815260206004820181905260248201527f63616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66604482015260640161060b565b61083b8282611bc9565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108875760405162461bcd60e51b815260040161060b906131ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108d060008051602061369b833981519152546001600160a01b031690565b6001600160a01b0316146108f65760405162461bcd60e51b815260040161060b906131f8565b6108ff81611d63565b6040805160008082526020820190925261091b91839190611d6b565b50565b6109366000805160206136e2833981519152336115be565b6109525760405162461bcd60e51b815260040161060b9061317f565b6098546001600160a01b0390811690821681036109b15760405162461bcd60e51b815260206004820152601a60248201527f4e65772065786563206d75737420626520646966666572656e74000000000000604482015260640161060b565b6109db7fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d83611b43565b610a057fe4eefbff6f5adc6b3fe0d11f14a3859decb3df1f4c82933fc6c1f8b498cc4a7d82611bc9565b50609880546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a705760405162461bcd60e51b815260040161060b906131ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab960008051602061369b833981519152546001600160a01b031690565b6001600160a01b031614610adf5760405162461bcd60e51b815260040161060b906131f8565b610ae882611d63565b61083b82826001611d6b565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161060b565b5060008051602061369b83398151915290565b6000808811610bf85760405162461bcd60e51b815260206004820152601760248201527f6572723a737461626c65436f696e416d6f756e743d3d30000000000000000000604482015260640161060b565b6103e88461ffff1610610c415760405162461bcd60e51b815260206004820152601160248201527006572723a736c6970706167653e3130303607c1b604482015260640161060b565b6103bf8461ffff1611610c895760405162461bcd60e51b815260206004820152601060248201526f06572723a736c6970706167653c3938360841b604482015260640161060b565b6103e8610c9a61ffff86168761325a565b610ca49190613271565b9450610cb08389611ed6565b6000610cbb84611c3a565b905088831515600003610d87576000610cd68b8b8589611d0c565b9092509050600061ffff8816610cee836103e861325a565b610cf89190613271565b610160549091506001600160a01b0316638803dbee8b838730610d1c426078613293565b6040518663ffffffff1660e01b8152600401610d3c9594939291906132ea565b6000604051808303816000875af1158015610d5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d839190810190613326565b5050505b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df291906133cc565b90506000610e01828a89611eeb565b9050851515600103610fa9576000610e19828d611fcb565b610166546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b91906133cc565b1015610ecf5760405162461bcd60e51b81526020600482015260136024820152720cae4e474d2dce6eacc40eae6cae440c2e4c6d606b1b604482015260640161060b565b61016654604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610f1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4291906133cc565b1015610f905760405162461bcd60e51b815260206004820152601760248201527f6572723a696e73756620617070726f76616c2061726368000000000000000000604482015260640161060b565b61016654610fa7906001600160a01b031682611ed6565b505b600061016560009054906101000a90046001600160a01b03166001600160a01b0316633495be63838e61016660009054906101000a90046001600160a01b03166001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161102391906001600160a01b0391909116815260200190565b602060405180830381865afa158015611040573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106491906133cc565b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201523360648201526084016020604051808303816000875af11580156110b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d991906133cc565b610166546040516370a0823160e01b81523060048201529192506111619133916001600160a01b0316906370a0823190602401602060405180830381865afa158015611129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114d91906133cc565b610166546001600160a01b031691906120a8565b6111766001600160a01b03891633600061210b565b60408051828152602081018f90526001600160a01b038a1681830152881515606082015290517ffd7f96349fdce68fcd7c9f8eccdeaa80a1ee666c1be4459b3451783d68db53079181900360800190a19c9b505050505050505050505050565b6111ee6000805160206136e2833981519152336115be565b61120a5760405162461bcd60e51b815260040161060b9061317f565b336001600160a01b038216036112625760405162461bcd60e51b815260206004820152601b60248201527f6e65772061646d696e206d75737420626520646966666572656e740000000000604482015260640161060b565b609b80546001600160a01b03929092166001600160a01b0319928316179055609c805490911633179055565b600054610100900460ff16158080156112ae5750600054600160ff909116105b806112c85750303b1580156112c8575060005460ff166001145b61132b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161060b565b6000805460ff19166001179055801561134e576000805461ff0019166101001790555b611356612220565b61135e612247565b611366612220565b61137e6000805160206136e283398151915233611b43565b61138733611898565b6113903361091e565b611399336113e1565b801561091b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6113f96000805160206136e2833981519152336115be565b6114155760405162461bcd60e51b815260040161060b9061317f565b609a546001600160a01b0390811690821681036114745760405162461bcd60e51b815260206004820152601e60248201527f4e657720677561726469616e206d75737420626520646966666572656e740000604482015260640161060b565b61149e7f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504183611b43565b6114c87f55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a504182611bc9565b50609a80546001600160a01b0319166001600160a01b0392909216919091179055565b609b546001600160a01b0316158061150c5750609c546001600160a01b0316155b1561154e5760405162461bcd60e51b81526020600482015260126024820152713737903737b6b4b730ba32b21030b236b4b760711b604482015260640161060b565b609b54336001600160a01b03909116036115bc5761157a6000805160206136e283398151915233611b43565b609c5461159f906000805160206136e2833981519152906001600160a01b0316611bc9565b609b80546001600160a01b0319908116909155609c805490911690555b565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260c9540361163b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060b565b600260c9556116586000805160206136e2833981519152336115be565b6116745760405162461bcd60e51b815260040161060b9061317f565b61016180546001600160a01b0319908116732a8e1e676ec238d8a992307b495b45b3feaa5e869081179092556101628054821673dac17f958d2ee523a2206206994597c13d831ec71790556101638054821673a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4817905561016480548216736b175474e89094c44da98b954eedeac495271d0f17905561015f805482167387650d7bbfc3a9f10587d7778206671719d9910d17905561016080548216737a250d5630b4cf539739df2c5dacb4c659f2488d17905561016580546001600160a01b0387811691841691909117909155610166805486831690841617905561016780549185169190921617905561177e9084600061210b565b61016154611798906001600160a01b03168460001961210b565b610166546117b1906001600160a01b031684600061210b565b610166546117cb906001600160a01b03168460001961210b565b61016054610162546117eb916001600160a01b039182169116600061210b565b610160546101625461180c916001600160a01b03918216911660001961210b565b610160546101635461182c916001600160a01b039182169116600061210b565b610160546101635461184d916001600160a01b03918216911660001961210b565b610160546101645461186d916001600160a01b039182169116600061210b565b610160546101645461188e916001600160a01b03918216911660001961210b565b5050600160c95550565b6118b06000805160206136e2833981519152336115be565b6118cc5760405162461bcd60e51b815260040161060b9061317f565b6099546001600160a01b03908116908216810361192b5760405162461bcd60e51b815260206004820152601960248201527f4e657720676f76206d75737420626520646966666572656e7400000000000000604482015260640161060b565b6119557f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5583611b43565b61197f7f7935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f5582611bc9565b50609980546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152606560205260409020600101546119bd81611c30565b6107468383611bc9565b60008060008060006119d887611c3a565b905060006119e588612276565b905089871515600003611a9a576000611a008c8c868d611d0c565b6101605460405163d06ca61f60e01b81529294509092506001600160a01b03169063d06ca61f90611a3790849088906004016133e5565b600060405180830381865afa158015611a54573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a7c9190810190613326565b600281518110611a8e57611a8e6133fe565b60200260200101519450505b61015f546040516307211ef760e01b8152600f84900b600482015260006024820152604481018390526001600160a01b03909116906307211ef790606401602060405180830381865afa158015611af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1991906133cc565b9450871515600103611b3257611b2f858b611fcb565b93505b509299919850909650505050505050565b611b4d82826115be565b61083b5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611b853390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611bd382826115be565b1561083b5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b61091b8133612347565b60408051600380825260808201909252606091600091906020820184803683370190505090508281600081518110611c7457611c746133fe565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611cbc57611cbc6133fe565b6001600160a01b03928316602091820292909201015261016654825191169082906002908110611cee57611cee6133fe565b6001600160a01b039092166020928302919091019091015292915050565b6000806000611d1a846123ab565b90506000611d2a88888885612434565b90506103e8611d3b826103de61325a565b611d459190613271565b90506000611d53828a613414565b9199919850909650505050505050565b61091b6126ed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d9e5761074683612747565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611df8575060408051601f3d908101601f19168201909252611df5918101906133cc565b60015b611e5b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161060b565b60008051602061369b8339815191528114611eca5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161060b565b506107468383836127e3565b61083b6001600160a01b03831633308461280e565b61015f54600090611f09906001600160a01b0384811691168661210b565b6000611f1483612276565b61015f54604051635320bf6b60e11b8152600f83900b600482015260006024820181905260448201899052606482018890529293506001600160a01b039091169063a6417ed6906084016020604051808303816000875af1158015611f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa191906133cc565b61015f54909150611fc0906001600160a01b038681169116600061210b565b9150505b9392505050565b6101675460405163060e9ba160e41b815260048101849052602481018390526000916001600160a01b0316906334f8e9e59082906360e9ba1090604401602060405180830381865afa158015612025573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204991906133cc565b6040518263ffffffff1660e01b815260040161206791815260200190565b602060405180830381865afa158015612084573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc491906133cc565b6040516001600160a01b03831660248201526044810182905261074690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612846565b8015806121855750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561215f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218391906133cc565b155b6121f05760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161060b565b6040516001600160a01b03831660248201526044810182905261074690849063095ea7b360e01b906064016120d4565b600054610100900460ff166115bc5760405162461bcd60e51b815260040161060b90613427565b600054610100900460ff1661226e5760405162461bcd60e51b815260040161060b90613427565b6115bc612918565b600073dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b038316016122a557506003919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b038316016122d257506002919050565b736b175474e89094c44da98b954eedeac495271d0e196001600160a01b038316016122ff57506001919050565b60405162461bcd60e51b815260206004820152601e60248201527f5a61707065723a20556e737570706f7274656420737461626c65636f696e0000604482015260640161060b565b61235182826115be565b61083b57612369816001600160a01b03166014612946565b612374836020612946565b604051602001612385929190613496565b60408051601f198184030181529082905262461bcd60e51b825261060b9160040161350b565b600073dac17f958d2ee523a2206206994597c13d831ec6196001600160a01b038316016123da57506006919050565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb47196001600160a01b0383160161240757506006919050565b736b175474e89094c44da98b954eedeac495271d0e196001600160a01b038316016122ff57506012919050565b6101675460405163060e9ba160e41b8152670de0b6b3a764000060048201526024810185905260009182916001600160a01b03909116906360e9ba1090604401602060405180830381865afa158015612491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124b591906133cc565b610160546040516307c0329d60e21b81529192506000916001600160a01b0390911690631f00ca74906124f690670de0b6b3a76400009089906004016133e5565b600060405180830381865afa158015612513573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261253b9190810190613326565b60008151811061254d5761254d6133fe565b60200260200101519050600061256588838588612ae2565b9050600061257486601261353e565b61257f90600a61363b565b612589908361325a565b610167549091506000906001600160a01b03166334f8e9e5670de0b6b3a76400006125b4888661325a565b6125be9190613271565b6040518263ffffffff1660e01b81526004016125dc91815260200190565b602060405180830381865afa1580156125f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261d91906133cc565b610160546040516307c0329d60e21b815291925082916001600160a01b0390911690631f00ca74906126559084908d906004016133e5565b600060405180830381865afa158015612672573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261269a9190810190613326565b6000815181106126ac576126ac6133fe565b6020026020010151670de0b6b3a76400006126c7919061325a565b6126d19190613271565b93506126df8a85878a612ae2565b9a9950505050505050505050565b6127056000805160206136e2833981519152336115be565b6115bc5760405162461bcd60e51b815260206004820152601360248201527221b0b63632b91034b9903737ba1030b236b4b760691b604482015260640161060b565b6001600160a01b0381163b6127b45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161060b565b60008051602061369b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6127ec83612bfb565b6000825111806127f95750805b15610746576128088383612c3b565b50505050565b6040516001600160a01b03808516602483015283166044820152606481018290526128089085906323b872dd60e01b906084016120d4565b600061289b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612d2f9092919063ffffffff16565b80519091501561074657808060200190518101906128b9919061364a565b6107465760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161060b565b600054610100900460ff1661293f5760405162461bcd60e51b815260040161060b90613427565b600160c955565b6060600061295583600261325a565b612960906002613293565b67ffffffffffffffff81111561297857612978612f8b565b6040519080825280601f01601f1916602001820160405280156129a2576020820181803683370190505b509050600360fc1b816000815181106129bd576129bd6133fe565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106129ec576129ec6133fe565b60200101906001600160f81b031916908160001a9053506000612a1084600261325a565b612a1b906001613293565b90505b6001811115612a93576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612a4f57612a4f6133fe565b1a60f81b828281518110612a6557612a656133fe565b60200101906001600160f81b031916908160001a90535060049490941c93612a8c81613667565b9050612a1e565b508315611fc45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161060b565b60008061016760009054906101000a90046001600160a01b03166001600160a01b03166364a2411b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5d91906133cc565b90506000670de0b6b3a7640000612b74878761325a565b612b7e9190613271565b90506000612b8d85601261353e565b612b9890600a61363b565b612ba2908361325a565b612bac9084613293565b612bb786600a61363b565b612bc1908561325a565b612bcb9190613271565b90506000612bda86600a61363b565b612be4838b61325a565b612bee9190613271565b9998505050505050505050565b612c0481612747565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b612ca35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161060b565b600080846001600160a01b031684604051612cbe919061367e565b600060405180830381855af49150503d8060008114612cf9576040519150601f19603f3d011682016040523d82523d6000602084013e612cfe565b606091505b5091509150612d2682826040518060600160405280602781526020016136bb60279139612d46565b95945050505050565b6060612d3e8484600085612d7f565b949350505050565b60608315612d55575081611fc4565b825115612d655782518084602001fd5b8160405162461bcd60e51b815260040161060b919061350b565b606082471015612de05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161060b565b6001600160a01b0385163b612e375760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161060b565b600080866001600160a01b03168587604051612e53919061367e565b60006040518083038185875af1925050503d8060008114612e90576040519150601f19603f3d011682016040523d82523d6000602084013e612e95565b606091505b5091509150612ea5828286612d46565b979650505050505050565b80356001600160a01b0381168114612ec757600080fd5b919050565b600060208284031215612ede57600080fd5b611fc482612eb0565b600060208284031215612ef957600080fd5b81356001600160e01b031981168114611fc457600080fd5b600060208284031215612f2357600080fd5b5035919050565b60008060408385031215612f3d57600080fd5b82359150612f4d60208401612eb0565b90509250929050565b600080600060608486031215612f6b57600080fd5b8335925060208401359150612f8260408501612eb0565b90509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612fca57612fca612f8b565b604052919050565b60008060408385031215612fe557600080fd5b612fee83612eb0565b915060208084013567ffffffffffffffff8082111561300c57600080fd5b818601915086601f83011261302057600080fd5b81358181111561303257613032612f8b565b613044601f8201601f19168501612fa1565b9150808252878482850101111561305a57600080fd5b80848401858401376000848284010152508093505050509250929050565b801515811461091b57600080fd5b600080600080600080600060e0888a0312156130a157600080fd5b87359650602088013595506040880135945060608801359350608088013561ffff811681146130cf57600080fd5b92506130dd60a08901612eb0565b915060c08801356130ed81613078565b8091505092959891949750929550565b60008060006060848603121561311257600080fd5b61311b84612eb0565b925061312960208501612eb0565b9150612f8260408501612eb0565b6000806000806080858703121561314d57600080fd5b843593506020850135925061316460408601612eb0565b9150606085013561317481613078565b939692955090935050565b60208082526013908201527221b0b63632b91034b9903737ba1020b236b4b760691b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761071b5761071b613244565b60008261328e57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561071b5761071b613244565b600081518084526020808501945080840160005b838110156132df5781516001600160a01b0316875295820195908201906001016132ba565b509495945050505050565b85815284602082015260a06040820152600061330960a08301866132a6565b6001600160a01b0394909416606083015250608001529392505050565b6000602080838503121561333957600080fd5b825167ffffffffffffffff8082111561335157600080fd5b818501915085601f83011261336557600080fd5b81518181111561337757613377612f8b565b8060051b9150613388848301612fa1565b81815291830184019184810190888411156133a257600080fd5b938501935b838510156133c0578451825293850193908501906133a7565b98975050505050505050565b6000602082840312156133de57600080fd5b5051919050565b828152604060208201526000612d3e60408301846132a6565b634e487b7160e01b600052603260045260246000fd5b8181038181111561071b5761071b613244565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561348d578181015183820152602001613475565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134ce816017850160208801613472565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516134ff816028840160208801613472565b01602801949350505050565b602081526000825180602084015261352a816040850160208701613472565b601f01601f19169190910160400192915050565b60ff828116828216039081111561071b5761071b613244565b600181815b8085111561359257816000190482111561357857613578613244565b8085161561358557918102915b93841c939080029061355c565b509250929050565b6000826135a95750600161071b565b816135b65750600061071b565b81600181146135cc57600281146135d6576135f2565b600191505061071b565b60ff8411156135e7576135e7613244565b50506001821b61071b565b5060208310610133831016604e8410600b8410161715613615575081810a61071b565b61361f8383613557565b806000190482111561363357613633613244565b029392505050565b6000611fc460ff84168361359a565b60006020828403121561365c57600080fd5b8151611fc481613078565b60008161367657613676613244565b506000190190565b60008251613690818460208701613472565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a26469706673582212203f33be2e4b60b62ab08dbed25537f4cb54ff3c762ce6f8819aef7f8b1db6f13c64736f6c63430008110033