0 txs
1 call
constructor
No constructor.
functions
burnUsd
nonpayablefunction burnUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)
mintUsd
nonpayablefunction mintUsd(uint128 accountId, uint128 poolId, address collateralType, uint256 amount)
events
UsdBurned
event UsdBurned(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)
UsdMinted
event UsdMinted(uint128 indexed accountId, uint128 indexed poolId, address collateralType, uint256 amount, address indexed sender)
errors
CollateralDepositDisabled
error CollateralDepositDisabled(address collateralType)
EmptyDistribution
error EmptyDistribution()
EmptyRevertReason
error EmptyRevertReason()
Errors
error Errors(bytes[] errors)
FeatureUnavailable
error FeatureUnavailable(bytes32 which)
InsufficientAvailableCollateral
error InsufficientAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)
InsufficientAvailableCollateral
error InsufficientAvailableCollateral(uint256 amountAvailableForDelegationD18, uint256 amountD18)
InsufficientCollateralRatio
error InsufficientCollateralRatio(uint256 collateralValue, uint256 debt, uint256 ratio, uint256 minRatio)
InsufficientDebt
error InsufficientDebt(int256 currentDebt)
InvalidParameter
error InvalidParameter(string parameter, string reason)
MarketNotFound
error MarketNotFound(uint128 marketId)
MismatchAssociatedSystemKind
error MismatchAssociatedSystemKind(bytes32 expected, bytes32 actual)
OverflowInt256ToInt128
error OverflowInt256ToInt128()
OverflowInt256ToUint256
error OverflowInt256ToUint256()
OverflowUint128ToInt128
error OverflowUint128ToInt128()
OverflowUint256ToInt256
error OverflowUint256ToInt256()
OverflowUint256ToUint128
error OverflowUint256ToUint128()
OverflowUint256ToUint64
error OverflowUint256ToUint64()
PermissionDenied
error PermissionDenied(uint128 accountId, bytes32 permission, address target)
PoolNotFound
error PoolNotFound(uint128 poolId)
creation bytecode
0x608060405234801561001057600080fd5b50613614806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063d3264e431461003b578063df16a07414610050575b600080fd5b61004e610049366004612ff4565b610063565b005b61004e61005e366004612ff4565b610347565b61007666189d5c9b955cd960ca1b6105fb565b60006100898563212aa92760e11b61062f565b90506000610096856106c1565b905060006100a5828689610737565b9050600081136100d05760405163d0937b7160e01b8152600481018290526024015b60405180910390fd5b806100da85610770565b13156100ec576100e98161079e565b93505b6000610102672aa9a22a37b5b2b760c11b6107c1565b905061010d8161081f565b604051632770a7eb60e21b8152306004820152602481018790526001600160a01b039190911690639dc29fac90604401600060405180830381600087803b15801561015757600080fd5b505af115801561016b573d6000803e3d6000fd5b505050506101a98585600601600061018a85546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002090610841565b8360060160006101c083546001600160a01b031690565b6001600160a01b03166001600160a01b03168152602001908152602001600020600001546102238560060160006101fe85546001600160a01b031690565b6001600160a01b03166001600160a01b0316815260200190815260200160002061088d565b11156102a05783600601600061024083546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020016000206000015461027e8560060160006101fe85546001600160a01b031690565b604051635af5842d60e11b8152600481019290925260248201526044016100c7565b6102c086896102ae88610770565b6102b790613063565b86929190610920565b6102ca83876109ab565b506102d3610a2a565b6001600160a01b0316876001600160801b0316896001600160801b03167f6b0230f0abe9188cbdbb1c816a4c5e213758b5b743d8a94af056280cc1e7aeb189896040516103359291906001600160a01b03929092168252602082015260400190565b60405180910390a45050505050505050565b61035a661b5a5b9d155cd960ca1b6105fb565b600061036d85631352539560e21b61062f565b905061037883610a67565b600061038385610a9c565b90506000610392828689610737565b9050600061039f85610770565b6103a9908361307f565b90508181136104275760408051634bab873760e11b8152600481019190915260076044820152661b995dd119589d60ca1b606482015260806024820152602360848201527f73686f756c642062652067726561746572207468616e2063757272656e74206460a48201526219589d60ea1b60c482015260e4016100c7565b600061043287610af8565b9050600061044185898c610b66565b6001600160a01b038a166000908152600a880160205260409020600101549092506104729150839085908490610bc1565b610489888b6104808a610770565b88929190610920565b61049385896109ab565b5060006104a0868a610c58565b905060006104ae878b610c98565b91506104bd9050848383610cf2565b60006104d3672aa9a22a37b5b2b760c11b6107c1565b90506104de8161081f565b6040516340c10f1960e01b8152306004820152602481018c90526001600160a01b0391909116906340c10f1990604401600060405180830381600087803b15801561052857600080fd5b505af115801561053c573d6000803e3d6000fd5b5050505061057a8a8a600601600061055b85546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002090610d41565b610582610a2a565b6001600160a01b03168c6001600160801b03168e6001600160801b03167f2100f67dc9a5917400f799bb13194553e3f74c19a207c56350d2c223ac9c36c98e8e6040516105e49291906001600160a01b03929092168252602082015260400190565b60405180910390a450505050505050505050505050565b61060c81610607610a2a565b610d55565b61062c57604051637e023fb760e01b8152600481018290526024016100c7565b50565b600061063a83610d9b565b905061065382610648610a2a565b600184019190610df2565b61069b578282610661610a2a565b60405162ef2a9160e11b81526001600160801b03909316600484015260248301919091526001600160a01b031660448201526064016100c7565b60058101805467ffffffffffffffff19164267ffffffffffffffff161790555b92915050565b6000808260405160200161071891906040808252601b908201527f696f2e73796e7468657469782e73796e7468657469782e506f6f6c000000000060608201526001600160801b0391909116602082015260800190565b60408051601f1981840301815291905280516020909101209392505050565b60006107438484610e2f565b506001600160a01b038316600090815260088501602052604090206107689083610f9c565b949350505050565b60006001600160ff1b0382111561079a5760405163677c430560e11b815260040160405180910390fd5b5090565b60008082121561079a5760405163029f024d60e31b815260040160405180910390fd5b6040805160208101829052602a60608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e4173736f63696080820152696174656453797374656d60b01b60a0820152908101829052600090819060c001610718565b60006108338264065726332360dc1b610fb8565b50546001600160a01b031690565b8154811115610870578154604051635af5842d60e11b81526004810191909152602481018290526044016100c7565b80826000016000828254610884919061309f565b90915550505050565b60008061089942611005565b90506000805b60038501548110156109185760008560030182815481106108c2576108c26130b2565b6000918252602090912001805490915067ffffffffffffffff808616600160801b909204161115610905578054610902906001600160801b0316846130c8565b92505b5080610910816130db565b91505061089f565b509392505050565b61092981611030565b60048501546109429190600160801b9004600f0b6130f4565b6004850180546001600160801b03928316600160801b0292169190911790556001600160a01b038316600090815260088501602052604090206109a4908390839061099d908054600090815260039091016020526040902090565b919061106c565b5050505050565b60008060006109cb670de0b6b3a76400006109c586610af8565b906110fd565b915091506109d881611291565b6001600160a01b038416600090815260088601602052604081206109fc90846112a1565b509050610a16600687016001600160a01b038716836112e0565b50610a208661136b565b5090949350505050565b600073e2c5658cc5c448b48141168f3e475df8f65a1e3e33148015610a50575060143610155b15610a62575060131936013560601c90565b503390565b610a7081610af8565b5460ff1661062c576040516318213f3d60e31b81526001600160a01b03821660048201526024016100c7565b600080610aa8836106c1565b90506001600160801b03831615801590610acf575080546001600160801b03848116911614155b156106bb576040516332b961eb60e01b81526001600160801b03841660048201526024016100c7565b6000808260405160200161071891906040808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e436f6c6c617465726160608201526d3621b7b73334b3bab930ba34b7b760911b60808201526001600160a01b0391909116602082015260a00190565b6001600160a01b038216600090815260088401602052604081208190610b8c90846114b5565b9150600080610b9e846109c588610af8565b91509150610bab81611291565b610bb582856114d1565b92505050935093915050565b600081856001015411610bd45781610bda565b84600101545b9050600084138015610c055750821580610c05575080610c03610bfc8661079e565b85906114f0565b105b156109a45782610c148561079e565b610c27610c208761079e565b86906114f0565b604051636119eca760e01b8152600481019390935260248301919091526044820152606481018290526084016100c7565b6000610c648383610e2f565b50610c6e8361136b565b6001600160a01b03821660009081526008840160205260409020610c9190611505565b9392505050565b6001600160a01b038116600090815260088301602052604081208190610cbd90611520565b9150600080610cd060006109c587610af8565b91509150610cdd81611291565b610ce782856114d1565b925050509250929050565b6002830154600083138015610d205750811580610d20575080610d1e610d178561079e565b84906114f0565b105b15610d3b5781610d2f8461079e565b610c27610bfc8661079e565b50505050565b8082600001600082825461088491906130c8565b600080610d618461153e565b6001810154909150610100900460ff1615610d805760009150506106bb565b600181015460ff168061076857506107686002820184611597565b6000808260405160200161071891906040808252601e908201527f696f2e73796e7468657469782e73796e7468657469782e4163636f756e74000060608201526001600160801b0391909116602082015260800190565b82546000906001600160a01b0383811691161480610e1e5750610e1e846420a226a4a760d91b846115b9565b8061076857506107688484846115b9565b815460058301546000916001600160801b031690829067ffffffffffffffff811115610e5d57610e5d613121565b604051908082528060200260200182016040528015610e9057816020015b6060815260200190600190039081610e7b5790505b50905060005b6005860154811015610f35576000610edb876005018381548110610ebc57610ebc6130b2565b60009182526020909120600290910201546001600160801b03166115fe565b9050610eec816402540be3ff611655565b9050838381518110610f0057610f006130b2565b6020908102919091010152610f15818561172e565b610f1f908661307f565b9450508080610f2d906130db565b915050610e96565b50610f3f816117b3565b610f498584611901565b6001600160a01b03841615610f94576001600160a01b038416610f92610f72600688018361194f565b6001600160a01b0387166000908152600889016020526040902090611977565b505b505092915050565b815460009081526003830160205260408120610c919083611993565b6002820154818114801590610fd95750681d5b9b585b9859d95960ba1b8114155b156110005760405162d5319f60e31b815260048101839052602481018290526044016100c7565b505050565b600067ffffffffffffffff82111561079a576040516372b1c34f60e01b815260040160405180910390fd5b600060016001607f1b031982128061104e575060016001607f1b0382135b1561079a57604051634022cc0360e01b815260040160405180910390fd5b6001600160801b03821660009081526005840160205260408120805490839083611096838561307f565b909155506110a5905083611030565b855486906010906110c1908490600160801b9004600f0b6130f4565b92506101000a8154816001600160801b030219169083600f0b6001600160801b0316021790555082816110f4919061307f565b95945050505050565b60006060600061110b611a07565b6040805160208101825291546001600160a01b03168252805160018082528183019092529192506000919081602001602082028036833750506040805160018082528183019092529293506000929150602080830190803683370190505090506373697a6560e01b82600081518110611186576111866130b2565b6020026020010181815250508560001b816000815181106111a9576111a96130b2565b60209081029190910101528251600480890154604051636d51285f60e11b81526001600160a01b039093169263daa250be926111ea92918791879101613172565b608060405180830381865afa925050508015611223575060408051601f3d908101601f191682019092526112209181019061319d565b60015b611266573d808015611251576040519150601f19603f3d011682016040523d82523d6000602084013e611256565b606091505b5060009550935061128a92505050565b80516112719061079e565b6040518060200160405280600081525095509550505050505b9250929050565b80511561062c5761062c81611a76565b81546000908152600383016020526040812081906112cb846112c583600301611aa1565b906114d1565b92506112d681611af1565b9150509250929050565b60006112ec8484611b17565b6000848152600186016020526040812091925061130884611b32565b825487549192506001600160801b039081169161132791849116613211565b6113319190613238565b86546001600160801b03199081166001600160801b03928316178855835416908216178255611361868386611b5c565b5050509392505050565b60048101546001600160801b03166000819003611386575050565b60008061139284611ba3565b9150915060006113a0611bef565b54905060005b60058601548110156114ad5760008660050182815481106113c9576113c96130b2565b60009182526020822060029091020180549092506001600160801b03600160801b9091041690876113fa8389613258565b6114049190613285565b835490915060009061141e906001600160801b03166115fe565b90506000808260100154116114335786611439565b81601001545b8254909150600090611459906001600160801b031683600f8c900b611c4a565b6001870154909150600f0b8082126114715780611473565b815b87548e54919350611492916001600160801b0391821691168488611cbc565b505050505050505080806114a5906130db565b9150506113a6565b505050505050565b815460009081526003830160205260408120610c919083611d17565b6000670de0b6b3a76400006114e68385613258565b610c919190613285565b6000816114e6670de0b6b3a764000085613258565b8054600090815260038201602052604081206106bb90611af1565b8054600090815260038201602052604081206106bb90600301611aa1565b6040805160208101829052602560608201527f696f2e73796e7468657469782e636f72652d6d6f64756c65732e46656174757260808201526465466c616760d81b60a0820152908101829052600090819060c001610718565b6001600160a01b03811660009081526001830160205260408120541515610c91565b60006001600160a01b0382161580159061076857506001600160a01b038216600090815260018581016020908152604080842087855290920190529020541515610768565b6000808260405160200161071891906040808252601d908201527f696f2e73796e7468657469782e73796e7468657469782e4d61726b657400000060608201526001600160801b0391909116602082015260800190565b6000606060008061166586611d2f565b805191935091501561167e5760009350915061128a9050565b600386015460009061169390600f0b84613299565b905060006116a2888389611e06565b915050801580156116bf5750600a8801546001600160801b031615155b156117105760038801546116e4906116da90600f0b86613299565b600a8a01906121e1565b6116ed84611030565b6003890180546001600160801b0319166001600160801b03929092169190911790555b60408051602081019091526000815290159890975095505050505050565b600080611747600a85016001600160801b03851661194f565b6001600160801b038085166000908152600c87016020526040902054919250829161177a91600160801b9091041661229e565b600f0b611787919061307f565b6001600160801b039384166000908152600c909501602052604090942080549093169092555090919050565b6000805b82518110156118035760008382815181106117d4576117d46130b2565b60200260200101515111156117f157816117ed816130db565b9250505b806117fb816130db565b9150506117b7565b5080156118fd5760008167ffffffffffffffff81111561182557611825613121565b60405190808252806020026020018201604052801561185857816020015b60608152602001906001900390816118435790505b5090506000805b84518110156118e157600085828151811061187c5761187c6130b2565b60200260200101515111156118cf5784818151811061189d5761189d6130b2565b60200260200101518383806118b1906130db565b9450815181106118c3576118c36130b2565b60200260200101819052505b806118d9816130db565b91505061185f565b5081604051630b42fd1760e01b81526004016100c791906132b9565b5050565b61190a81611030565b60048301546119239190600160801b9004600f0b6130f4565b6004830180546001600160801b03928316600160801b0292169190911790556118fd60068301826121e1565b60008181526001830160205260408120805461076890859083906001600160801b0316611b5c565b8154600090815260038301602052604090206118fd90826122d1565b6000806119ac600185016001600160801b03851661194f565b90506119b984848361106c565b91506119c481611030565b845485906000906119d9908490600f0b61334b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505092915050565b600080604051602001611a589060208082526024908201527f696f2e73796e7468657469782e73796e7468657469782e4f7261636c654d616e60408201526330b3b2b960e11b606082015260800190565b60408051601f19818403018152919052805160209091012092915050565b80516000819003611a9a5760405163123b260360e01b815260040160405180910390fd5b8060208301fd5b80546000906b033b2e3c9fd0803ce8000000906001600160801b03811690611add90611ad8908490600160801b9004600f0b61307f565b61079e565b611ae79190613258565b6106bb9190613285565b8054600090611b0e90600160801b8104600f90810b91900b6130f4565b600f0b92915050565b60008181526001830160205260408120610c91908490612327565b60006001600160801b0382111561079a57604051637d5864af60e11b815260040160405180910390fd5b6000611b688484612327565b90508115611b81578354600160801b9004600f0b611b84565b60005b83546001600160801b03918216600160801b0291161790925550919050565b60068101546001600160801b0316600081611bbf576000611be8565b611be8611be3611bce84610770565b6004860154600160801b9004600f0b90612392565b611030565b9050915091565b600080604051602001611a58906020808252602e908201527f696f2e73796e7468657469782e73796e7468657469782e53797374656d506f6f60408201526d3621b7b73334b3bab930ba34b7b760911b606082015260800190565b600080611c56856115fe565b90506000611c6682600a016123b1565b905060008515611c8757611c82670de0b6b3a7640000876114f0565b611c91565b670de0b6b3a76400005b905084611c9d82610770565b611ca7908461307f565b611cb19190613299565b979650505050505050565b600080611cc8866115fe565b60018101549091506001600160a01b0316611d015760405163784060f560e11b81526001600160801b03871660048201526024016100c7565b611d0d818685876123cb565b9695505050505050565b6000610c91600384016001600160801b03841661260a565b60006060600080611d3f85612658565b91509150600080611d4f87612712565b91509150600083511180611d64575060008151115b15611dcc57604080518082018252848152602081018390529051630b42fd1760e01b91611d9391602401613378565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529450611dfd565b611dd582610770565b6002880154600f0b611de686610770565b611df0919061307f565b611dfa9190613299565b95505b50505050915091565b60008083600003611e1c575060009050806121d9565b600080600080871315611e3c575060019150506004860160078701611e4c565b5060001991505060078601600487015b60005b8681101561218857611e60836127fc565b15612188576000611e708461281f565b90506000611e7e888b613299565b138015611e965750600a8a01546001600160801b0316155b80611ee85750600a8a01546001600160801b031615801590611ee85750611ec68a611ec1898c613299565b61283e565b85600f0b611ed491906133f5565b8160200151611ee290613425565b600f0b12155b15611ef35750612188565b611efd8484612895565b600a8a01546001600160801b031615611f87576000611f66611f218c600a016123b1565b6020840151611f2f89613425565b611f39919061344b565b600f0b611f469190613299565b600a8d0154611f5d906001600160801b031661229e565b600f0b906128c0565b9050611f75600a8c01826121e1565b611f7f818961307f565b975050611fd7565b611fb7611be36009611fb1846020015189611fa190613425565b611fab919061344b565b600f0b90565b906128d5565b600a8b0180546001600160801b03928316600160801b0292169190911790555b60008913156120d95780516001600160801b039081166000908152600b8c0160205260409020541661204b5760405162461bcd60e51b815260206004820152601e60248201527f6e6f20736861726573206265666f7265206163746f722072656d6f76616c000060448201526064016100c7565b805160009061206d90611ad8906001600160801b0316600a8e019060006112e0565b905061207881611b32565b82516001600160801b039081166000908152600c8e0160205260409020805490916010916120af918591600160801b900416613211565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050612175565b80516001600160801b039081166000908152600b8c01602052604090205416156121455760405162461bcd60e51b815260206004820152601b60248201527f6163746f722068617320736861726573206265666f726520616464000000000060448201526064016100c7565b80516001600160801b039081166000818152600c8d01602052604090205461217392600a8e019291166112e0565b505b5080612180816130db565b915050611e4f565b61219186611030565b60038a0180546000906121a8908490600f0b6130f4565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055508681149450505050505b935093915050565b806000036121ed575050565b81546001600160801b0316600081900361221a57604051633b182f5560e01b815260040160405180910390fd5b60006122326b033b2e3c9fd0803ce8000000846133f5565b9050600061223f83610770565b612249908361346b565b905061225481611030565b85548690601090612270908490600160801b9004600f0b6130f4565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505050505050565b600060016001607f1b036001600160801b038316111561079a57604051634593782f60e11b815260040160405180910390fd5b6122de60018301826121e1565b6122e781611030565b825483906000906122fc908490600f0b6130f4565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505050565b80548254600091829161234e91600160801b90819004600f90810b9291909104900b61334b565b8354600f9190910b915060009061236d906001600160801b031661229e565b61237a90600f0b836133f5565b90506110f46b033b2e3c9fd0803ce80000008261346b565b6000816123a7670de0b6b3a7640000856133f5565b610c91919061346b565b80546000906106bb90600160801b9004600f0b60096128f4565b6000806123d8868661290e565b905060006123e6878761293a565b90506123f185611b32565b6001600160801b038781166000908152600c8a016020526040812080546001600160801b03191693909216929092179055612431611be3600a8a016123b1565b90508560000361245c576124486004890188612960565b506124566007890188612960565b506124c2565b80600f0b85121561249157600095506124786004890188612960565b506124568761248687611030565b60078b01919061299a565b6124b28761249e87611030565b6124a790613425565b60048b01919061299a565b506124c06007890188612960565b505b60006124db600a8a016001600160801b038a16896112e0565b6001600160801b03808a166000908152600c8c016020526040902054919250829161250e91600160801b9091041661229e565b600f0b61251b919061307f565b6001600160801b03808a166000908152600c8c0160205260409020805490911690559450600f82900b86131561259f57612559611be38a8989612a5e565b60028a018054601090612577908490600160801b9004600f0b6130f4565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b81600f0b8313156125fe576125b8611be38a8686612a5e565b60028a0180546010906125d6908490600160801b9004600f0b61334b565b92506101000a8154816001600160801b030219169083600f0b6001600160801b031602179055505b50505050949350505050565b81546000906001600160801b03168082036126295760009150506106bb565b8061263385611aa1565b600085815260018701602052604090205461264e9190613258565b6107689190613285565b6001810154815460405163bcec0d0f60e01b81526001600160801b0390911660048201526000916060916001600160a01b039091169063bcec0d0f90602401602060405180830381865afa9250505080156126d0575060408051601f3d908101601f191682019092526126cd91810190613499565b60015b61270b573d8080156126fe576040519150601f19603f3d011682016040523d82523d6000602084013e612703565b606091505b509050915091565b9150915091565b600060606000805b600d8501548110156127f357600085600d01828154811061273d5761273d6130b2565b600091825260208083206040805180820190915260029093020180546001600160a01b03168084526001909101549183019190915290925061277e90610af8565b905081602001516000036127935750506127e1565b6000806127a48385602001516110fd565b80519193509150156127c0576000999098509650505050505050565b60208401516127d09083906114d1565b6127da90876130c8565b9550505050505b806127eb816130db565b91505061271a565b50939092509050565b600181015460009061280f5760006106bb565b6001828101546106bb919061309f565b60408051808201909152600080825260208201526106bb826001612a89565b600a8201546000906001600160801b031661285a57600061287f565b600a83015461287f90612875906001600160801b031661229e565b8390600f0b612392565b61288b84600a016123b1565b610c91919061307f565b60006128a083612b12565b9050610d3b816000015182602001516128b890613425565b84919061299a565b6000670de0b6b3a76400006123a783856133f5565b60006128ea6128e583600a613596565b610770565b610c9190846133f5565b60006129046128e583600a613596565b610c91908461346b565b6000610c916001600160801b0383166000908152600b850160205260409020546001600160801b031690565b60006129496004840183612b31565b6020015161295690613425565b600f0b9392505050565b60408051808201909152600080825260208201526001600160801b0382166000908152600284016020526040902054610c91908490612b6b565b604080518082019091526000808252602082015260018401546000036129c3576129c384612cfc565b60408051808201909152600080825260208201526129e18585612960565b5084546001600160801b03168560006129f9836135a2565b82546101009290920a6001600160801b03818102199093169183160217909155600187810180548201808255600091909152604080518082019091529288168352600f87900b6020840152919350610768925087918491612a599161309f565b612d4c565b600080612a7a612a7086600a016123b1565b611ad89085613299565b90506110f46128e582866114d1565b604080518082019091526000808252602082015260018301548210612ac1576040805180820190915260008082526020820152610c91565b826001018281548110612ad657612ad66130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b918101919091529392505050565b60408051808201909152600080825260208201526106bb826001612b6b565b60408051808201909152600080825260208201526001600160801b0382166000908152600284016020526040902054610c91908490612a89565b6040805180820190915260008082526020820152600183015482101580612b90575081155b15612baf575060408051808201909152600080825260208201526106bb565b6000836001018381548110612bc657612bc66130b2565b6000918252602080832060408051808201825293909101546001600160801b038116808552600160801b909104600f0b8484015284526002880190915282208290556001808701805492945091612c1d919061309f565b81548110612c2d57612c2d6130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b918101919091526001860180549192509080612c7957612c796135c8565b600082815260208120820160001990810191909155019055600185015484101561091857612ca8858286612d4c565b61091885866001018681548110612cc157612cc16130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915286612e17565b600181015460000361062c57604080518082019091526000808252602080830182815260019485018054958601815583529120915190516001600160801b03908116600160801b02911617910155565b6001811480612d99575060018301612d65600283613285565b81548110612d7557612d756130b2565b6000918252602091829020015490830151600160801b909104600f90810b91900b13155b15612da957611000838383612f7d565b612e078360018101612dbc600285613285565b81548110612dcc57612dcc6130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915283612f7d565b6110008383612a59600285613285565b60018301546000612e29836002613258565b9050808211612e4257612e3d858585612f7d565b6109a4565b6000856001018281548110612e5957612e596130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b918101919091529050612e9b8260016130c8565b83118015612ee557508060200151600f0b86600101836001612ebd91906130c8565b81548110612ecd57612ecd6130b2565b600091825260209091200154600160801b9004600f0b135b15612f425760018601612ef7836130db565b92508281548110612f0a57612f0a6130b2565b6000918252602091829020604080518082019091529101546001600160801b0381168252600160801b9004600f0b9181019190915290505b8460200151600f0b8160200151600f0b13612f6757612f62868686612f7d565b6114ad565b612f72868286612f7d565b6114ad868684612e17565b81836001018281548110612f9357612f936130b2565b600091825260208083208451948201516001600160801b03908116600160801b0295811695909517920191909155935190911681526002909301909152604090912055565b80356001600160801b0381168114612fef57600080fd5b919050565b6000806000806080858703121561300a57600080fd5b61301385612fd8565b935061302160208601612fd8565b925060408501356001600160a01b038116811461303d57600080fd5b9396929550929360600135925050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016130785761307861304d565b5060000390565b8082018281126000831280158216821582161715610f9457610f9461304d565b818103818111156106bb576106bb61304d565b634e487b7160e01b600052603260045260246000fd5b808201808211156106bb576106bb61304d565b6000600182016130ed576130ed61304d565b5060010190565b600f81810b9083900b0160016001607f1b03811360016001607f1b0319821217156106bb576106bb61304d565b634e487b7160e01b600052604160045260246000fd5b600081518084526020808501945080840160005b838110156131675781518752958201959082019060010161314b565b509495945050505050565b83815260606020820152600061318b6060830185613137565b8281036040840152611d0d8185613137565b6000608082840312156131af57600080fd5b6040516080810181811067ffffffffffffffff821117156131e057634e487b7160e01b600052604160045260246000fd5b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b6001600160801b038181168382160190808211156132315761323161304d565b5092915050565b6001600160801b038281168282160390808211156132315761323161304d565b80820281158282048414176106bb576106bb61304d565b634e487b7160e01b600052601260045260246000fd5b6000826132945761329461326f565b500490565b81810360008312801583831316838312821617156132315761323161304d565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b8381101561333d57888603603f1901855282518051808852835b81811015613316578281018a01518982018b015289016132fb565b508781018901849052601f01601f19169096018701955093860193918601916001016132e1565b509398975050505050505050565b600f82810b9082900b0360016001607f1b0319811260016001607f1b03821317156106bb576106bb61304d565b6020808252600090606083018382018584805b60028110156133e857601f198089870301855283518051808852845b818110156133c2578281018a01518982018b015289016133a7565b508781018901859052601f0190911690950186019450928501929185019160010161338b565b5092979650505050505050565b80820260008212600160ff1b841416156134115761341161304d565b81810583148215176106bb576106bb61304d565b600081600f0b60016001607f1b031981036134425761344261304d565b60000392915050565b600082600f0b82600f0b0280600f0b91508082146132315761323161304d565b60008261347a5761347a61326f565b600160ff1b8214600019841416156134945761349461304d565b500590565b6000602082840312156134ab57600080fd5b5051919050565b600181815b808511156134ed5781600019048211156134d3576134d361304d565b808516156134e057918102915b93841c93908002906134b7565b509250929050565b600082613504575060016106bb565b81613511575060006106bb565b816001811461352757600281146135315761354d565b60019150506106bb565b60ff8411156135425761354261304d565b50506001821b6106bb565b5060208310610133831016604e8410600b8410161715613570575081810a6106bb565b61357a83836134b2565b806000190482111561358e5761358e61304d565b029392505050565b6000610c9183836134f5565b60006001600160801b038083168181036135be576135be61304d565b6001019392505050565b634e487b7160e01b600052603160045260246000fdfea26469706673582212208f854134671473918eefc427e2ea1400912c6591ee7be1275c11af78bc18ac7464736f6c63430008110033