import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PromiseOrValue } from "../common"; import type { CreditFacade, CreditFacadeInterface } from "../CreditFacade"; declare type CreditFacadeConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class CreditFacade__factory extends ContractFactory { constructor(...args: CreditFacadeConstructorParams); deploy(_creditManager: PromiseOrValue, _degenNFT: PromiseOrValue, _blacklistHelper: PromiseOrValue, _expirable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeployTransaction(_creditManager: PromiseOrValue, _degenNFT: PromiseOrValue, _blacklistHelper: PromiseOrValue, _expirable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): TransactionRequest; attach(address: string): CreditFacade; connect(signer: Signer): CreditFacade__factory; static readonly contractName: "CreditFacade"; readonly contractName: "CreditFacade"; static readonly bytecode = "0x6101a06040523480156200001257600080fd5b5060405162006f4938038062006f4983398101604081905262000035916200027a565b60016000556001600160a01b0384166200006257604051635919af9760e11b815260040160405180910390fd5b6001600160a01b038416608081905260408051636f307dc360e01b81529051636f307dc3916004808201926020929091908290030181865afa158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d39190620002dd565b6001600160a01b0316610100816001600160a01b031681525050836001600160a01b0316634f0e0ef36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200012c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001529190620002dd565b6001600160a01b0316610120816001600160a01b031681525050836001600160a01b03166316f0115b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d19190620002dd565b6001600160a01b0390811661018052838116610140819052151560a052821661016081905215801560c05262000236576040516001600160a01b038316907fcb3b4bdae9a9c5626b486904f099393ae5286a7f2b58380329f6d67a6ecdc9da90600090a25b151560e0525050600480546001600160801b03166001600160801b03191790555062000302565b80516001600160a01b03811681146200027557600080fd5b919050565b600080600080608085870312156200029157600080fd5b6200029c856200025d565b9350620002ac602086016200025d565b9250620002bc604086016200025d565b915060608501518015158114620002d257600080fd5b939692955090935050565b600060208284031215620002f057600080fd5b620002fb826200025d565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051610180516169c26200058760003960008181610326015261443e01526000818161061601528181614645015281816147df01528181614bb201528181614c5f015281816152d901526153f601526000818161064a0152818161393a0152613a3a01526000818161041b0152818161322201526132d201526000818161057b015281816119c60152818161216c0152818161222a0152818161300c015281816131800152818161446901528181614b8201528181614c870152818161530401526153b80152600081816106f70152818161268401526144df0152600081816108e30152614b1f0152600081816103c701528181610f7b015281816136eb015261397601526000818161074b01528181610ab801528181610cb101528181610dc70152818161100201528181611180015281816112eb015281816113ab0152818161159d015281816117ad015281816118da01528181611ae801528181611c2801528181611d1201528181611e4801528181611f650152818161208c0152818161235a0152818161243e015281816124fd0152818161259101528181612770015281816127ea01528181612883015281816129eb01528181612ae201528181612b9201528181612d0801528181612f2c015281816130d1015281816133bf015281816134d001528181613c1601528181613e1f01528181613f27015281816140a2015281816141570152818161421d015281816145640152818161466d0152818161472101528181614795015281816152220152818161566c015281816157760152818161583d0152818161596d01528181615a6001528181615b880152615bfb01526169c26000f3fe6080604052600436106102ba5760003560e01c806382871ace1161016e578063c7de38a6116100cb578063e1d49d7d1161007f578063f9eaee0d11610064578063f9eaee0d14610925578063fc7b9c1814610945578063ffd9b9071461098657600080fd5b8063e1d49d7d146108d1578063eb9606df1461090557600080fd5b8063cff0ab96116100b0578063cff0ab96146107b5578063d9ccbec114610876578063dfd59465146108b157600080fd5b8063c7de38a61461076d578063caa5c23f146107a257600080fd5b80639c55a05411610122578063b1836d3211610107578063b1836d32146106e5578063b2f4d32814610719578063c12c21c01461073957600080fd5b80639c55a054146106b0578063a706efc4146106d057600080fd5b8063938294a911610153578063938294a9146106045780639408b63f146106385780639b67ab301461066c57600080fd5b806382871ace146105b0578063860aefcf146105c357600080fd5b8063503931091161021c5780635f73fbec116101d05780636c8f225d116101b55780636c8f225d146105565780636f307dc3146105695780637071b7c51461059d57600080fd5b80635f73fbec14610523578063601d66f61461053657600080fd5b8063597810341161020157806359781034146104ea5780635c1ca80f146104fd5780635d91a0e01461051057600080fd5b8063503931091461045d57806354fd4d50146104c757600080fd5b806326aac859116102735780634527d9ce116102585780634527d9ce146103e95780634f0e0ef3146104095780635019e20a1461043d57600080fd5b806326aac859146103a25780633d9287fa146103b557600080fd5b806312de90c9116102a457806312de90c91461030157806316f0115b14610314578063256ac9151461037257600080fd5b8062842b57146102bf57806308c25f8f146102e1575b600080fd5b3480156102cb57600080fd5b506102df6102da366004615edd565b6109a6565b005b3480156102ed57600080fd5b506102df6102fc366004615f36565b610ab6565b6102df61030f366004615f9d565b610bde565b34801561032057600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561037e57600080fd5b5061039261038d366004615ff9565b610c67565b6040519015158152602001610369565b6102df6103b0366004616016565b610d3a565b3480156103c157600080fd5b506103927f000000000000000000000000000000000000000000000000000000000000000081565b3480156103f557600080fd5b506102df610404366004616099565b610dc5565b34801561041557600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b34801561044957600080fd5b506102df610458366004615ff9565b610f07565b34801561046957600080fd5b5060035461049e906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610369565b3480156104d357600080fd5b506104dc60dc81565b604051908152602001610369565b6102df6104f83660046160b6565b611229565b6102df61050b366004616016565b611412565b6102df61051e3660046160f7565b611491565b6102df61053136600461617c565b61151d565b34801561054257600080fd5b506102df6105513660046161d2565b61159b565b6102df610564366004616205565b6116bd565b34801561057557600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b6102df6105ab366004616258565b6119f9565b6102df6105be3660046160f7565b611c91565b3480156105cf57600080fd5b5060025461049e906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b34801561061057600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b34801561064457600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b34801561067857600080fd5b506006546040805167ffffffffffffffff608084901c1681526fffffffffffffffffffffffffffffffff909216602083015201610369565b3480156106bc57600080fd5b506102df6106cb366004615f36565b611d10565b3480156106dc57600080fd5b506102df611e46565b3480156106f157600080fd5b506103927f000000000000000000000000000000000000000000000000000000000000000081565b34801561072557600080fd5b506102df6107343660046161d2565b611f63565b34801561074557600080fd5b506103487f000000000000000000000000000000000000000000000000000000000000000081565b34801561077957600080fd5b5061078d610788366004615ff9565b612085565b60408051928352602083019190915201610369565b6102df6107b03660046162cc565b6122b8565b3480156107c157600080fd5b50600154610833906fffffffffffffffffffffffffffffffff811690700100000000000000000000000000000000810460ff169071010000000000000000000000000000000000810464ffffffffff1690760100000000000000000000000000000000000000000000900461ffff1684565b604080516fffffffffffffffffffffffffffffffff9095168552921515602085015264ffffffffff9091169183019190915261ffff166060820152608001610369565b34801561088257600080fd5b5061039261089136600461630e565b600560209081526000928352604080842090915290825290205460ff1681565b3480156108bd57600080fd5b506104dc6108cc366004615ff9565b6124a5565b3480156108dd57600080fd5b506103927f000000000000000000000000000000000000000000000000000000000000000081565b34801561091157600080fd5b506102df61092036600461633c565b61258f565b34801561093157600080fd5b50610392610940366004615ff9565b612726565b34801561095157600080fd5b5060045461049e906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b34801561099257600080fd5b506102df6109a1366004616363565b612881565b60026000541415610a18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600090815573ffffffffffffffffffffffffffffffffffffffff8316808252600560209081526040808420338086529083529381902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081527f9b3258bc4904fd6426b99843e206c6c7cdb1fd0f040121c25b71dafbb3851ee0910160405180910390a350506001600055565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba9576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b60026000541415610c4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b6002600055610c5c848484846129ba565b505060016000555050565b6040517f055ee9b500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063055ee9b590602401602060405180830381865afa158015610cf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1c9190616380565b73ffffffffffffffffffffffffffffffffffffffff16141592915050565b60026000541415610da7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b6002600055610db98585858585612cc0565b50506001600055505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e549190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eb8576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805461ffff909216760100000000000000000000000000000000000000000000027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b60026000541415610f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b60026000557f000000000000000000000000000000000000000000000000000000000000000015610fd1576040517f5aa6676700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fe958b7040000000000000000000000000000000000000000000000000000000081523360048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e958b70490602401602060405180830381865afa15801561105e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110829190616380565b33600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915290205490915060ff166110ef576040517f85b0772600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110fa82612f25565b5090508015611135576040517ff713841e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fe1998cf900000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063e1998cf990604401600060405180830381600087803b1580156111c457600080fd5b505af11580156111d8573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff861692503391507f93c70cc9715bef0d83edf2095f3595402279d274f402a73ffc17f1bcb19d863d90600090a35050600160005550565b60026000541415611296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b60026000556112a361321a565b6040517fe958b70400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e958b70490602401602060405180830381865afa158015611334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113589190616380565b90506113668482858561335c565b6040517f29df0b9300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f000000000000000000000000000000000000000000000000000000000000000016906329df0b9390602401600060405180830381600087803b1580156113ef57600080fd5b505af1158015611403573d6000803e3d6000fd5b50506001600055505050505050565b6002600054141561147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b6002600055610db98585858585613488565b600260005414156114fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b60026000556115108686868585613488565b5050600160005550505050565b6002600054141561158a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b6002600055610db9858584846129ba565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162a9190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461168e576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617600255565b6002600054141561172a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b60026000908155606461174161ffff8516876163cc565b61174b9190616409565b9050611756816136e9565b61175f816137e8565b61176884613868565b61177061321a565b61177b816001613aa0565b6040517f172c48c7000000000000000000000000000000000000000000000000000000008152600060048201819052907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063172c48c7906024016040805180830381865afa158015611808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182c9190616444565b61ffff169150611840905081612710616473565b61184a90836163cc565b61185482886163cc565b1161188b576040517f532e7bb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f8fe3f93f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff86811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638fe3f93f906044016020604051808303816000875af1158015611925573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119499190616380565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffa2baf5d3eb95569f312f22477b246f9d4c50276f1cb3ded8e1aeadcbc07a76385876040516119b792919091825261ffff16602082015260400190565b60405180910390a36119eb86827f00000000000000000000000000000000000000000000000000000000000000008a61335c565b505060016000555050505050565b60026000541415611a66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b6002600055611a74856136e9565b611a7d84613868565b611a86856137e8565b611a8e61321a565b611a99856001613aa0565b6040517f8fe3f93f0000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff85811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638fe3f93f906044016020604051808303816000875af1158015611b33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b579190616380565b90508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167ffa2baf5d3eb95569f312f22477b246f9d4c50276f1cb3ded8e1aeadcbc07a7638885604051611bc592919091825261ffff16602082015260400190565b60405180910390a38215611be357611be38484878460006001613bcb565b6040517f9537301800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690639537301890602401600060405180830381600087803b158015611c6c57600080fd5b505af1158015611c80573d6000803e3d6000fd5b505060016000555050505050505050565b60026000541415611cfe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b60026000556115108686868585612cc0565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9f9190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e03576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed59190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f39576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169055565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff29190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612056576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617600455565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632630c12f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121199190616380565b90506000806121288387614108565b6040517f7afb01040000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015292945090925090841690637afb010490604401602060405180830381865afa1580156121c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e6919061648a565b6040517f7afb01040000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015291965061271091851690637afb010490604401602060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a4919061648a565b6122ae9190616409565b9350505050915091565b60026000541415612325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610a0f565b600260009081556040517fe958b7040000000000000000000000000000000000000000000000000000000081523360048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e958b70490602401602060405180830381865afa1580156123b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123da9190616380565b90506123e461321a565b811561249b576123f983833384600080613bcb565b6040517f9537301800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f00000000000000000000000000000000000000000000000000000000000000001690639537301890602401600060405180830381600087803b15801561248257600080fd5b505af1158015612496573d6000803e3d6000fd5b505050505b5050600160005550565b6000806124b183612085565b6040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152919350600092507f000000000000000000000000000000000000000000000000000000000000000090911690633192195c90602401606060405180830381865afa158015612546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256a91906164a3565b925082915061257d9050612710846163cc565b6125879190616409565b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261e9190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612682576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006126d9576040517f50dd11fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805464ffffffffff90921671010000000000000000000000000000000000027fffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffffff909216919091179055565b6040517ff67c5bd000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063f67c5bd090602401602060405180830381865afa1580156127b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127db919061648a565b9050801580159061287a5750807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fd12b776040518163ffffffff1660e01b8152600401602060405180830381865afa158015612853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612877919061648a565b16155b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f9aa028a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129109190616380565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612974576040517feee4716900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018054911515700100000000000000000000000000000000027fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff909216919091179055565b6040517fe958b7040000000000000000000000000000000000000000000000000000000081523360048201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063e958b70490602401602060405180830381865afa158015612a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6b9190616380565b9050612a7561321a565b8115612a8b57612a8b8383338460016000613bcb565b6000612a95614401565b6040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291925060009182917f000000000000000000000000000000000000000000000000000000000000000090911690633192195c90602401606060405180830381865afa158015612b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b4f91906164a3565b506040517f2362a2d8000000000000000000000000000000000000000000000000000000008152919350915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690632362a2d890612bd4903390600090819083908f908f90849060040161650c565b6020604051808303816000875af1158015612bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c17919061648a565b506000612c22614401565b9050612c2e8285616568565b811015612c67576040517f1e05cdad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c72836000613aa0565b60405173ffffffffffffffffffffffffffffffffffffffff8a169033907f460ad03b1cf79b1d64d3aefa28475f110ab66e84649c52bb41ed796b9b39198190600090a3505050505050505050565b6040517fe958b70400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e958b70490602401602060405180830381865afa158015612d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d759190616380565b905073ffffffffffffffffffffffffffffffffffffffff8516612dc4576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612dcc6144db565b612e02576040517f7e52ccb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612e0d82612085565b509050612e1861321a565b6000612e24600161452b565b90508315612e3c57612e3c85858a8660016000613bcb565b8015612e895760015461271090612e7190760100000000000000000000000000000000000000000000900461ffff16846163cc565b612e7b9190616409565b9150612e87600061452b565b505b6000612e9a83858b8b8b60016145ec565b90508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167ffada13ff2d5e1a1d9da37ad4a4130893b34e3c69c32b17f87ec31fd661b8670784604051612f1291815260200190565b60405180910390a4505050505050505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632630c12f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fb99190616380565b9050600080612fc88387614108565b6040517f7afb01040000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015292945090925090841690637afb010490604401602060405180830381865afa158015613062573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613086919061648a565b6040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301529195506000917f00000000000000000000000000000000000000000000000000000000000000001690633192195c90602401606060405180830381865afa158015613118573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313c91906164a3565b6040517ff9a650300000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660248301529194506000935061271092509087169063f9a6503090604401602060405180830381865afa1580156131dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613200919061648a565b61320a91906163cc565b9092109794965093945050505050565b341561335a577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561328857600080fd5b505af115801561329c573d6000803e3d6000fd5b50506040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201523460248201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16935063a9059cbb925060440190506020604051808303816000875af1158015613334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133589190616580565b505b565b613365846149e7565b6040517f830aa74500000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff84811660248301528381166044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063830aa74590608401600060405180830381600087803b15801561340357600080fd5b505af1158015613417573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fa32435755c235de2976ed44a75a2f85cb01faf0c894f639fe0c32bb9455fea8f8360405161347a91815260200190565b60405180910390a350505050565b6040517fe958b70400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e958b70490602401602060405180830381865afa158015613519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061353d9190616380565b905073ffffffffffffffffffffffffffffffffffffffff851661358c576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061359883612f25565b91509150816135d3576040517f1fdd676f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6135db61321a565b60006135e7600161452b565b905084156135ff576135ff86868b8760016000613bcb565b801561364c576001546127109061363490760100000000000000000000000000000000000000000000900461ffff16846163cc565b61363e9190616409565b915061364a600061452b565b505b600061365d83868c8c8c60006145ec565b90508873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167f7dfecd8419723a9d3954585a30c2a270165d70aafa146c11c1e1b88ae1439064846040516136d591815260200190565b60405180910390a450505050505050505050565b7f0000000000000000000000000000000000000000000000000000000000000000613358576001546fffffffffffffffffffffffffffffffff9081169081146137e457600654608081901c906fffffffffffffffffffffffffffffffff16600067ffffffffffffffff83164314613760578461377c565b61377c6fffffffffffffffffffffffffffffffff831686616568565b9050838111156137b8576040517f675f1a5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6137e06137c482614a75565b6fffffffffffffffffffffffffffffffff164360801b17600655565b5050505b5050565b6002546fffffffffffffffffffffffffffffffff16811080613831575060025470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681115b15613358576040517fce16799400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154700100000000000000000000000000000000900460ff16156138b9576040517f7615238d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6138c16144db565b156138f8576040517fcba1df9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61390181614b1b565b15613938576040517f03cd171200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1615613a97577f000000000000000000000000000000000000000000000000000000000000000080156139b757503373ffffffffffffffffffffffffffffffffffffffff821614155b156139ee576040517f5aa6676700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600160248301527f00000000000000000000000000000000000000000000000000000000000000001690639dc29fac90604401600060405180830381600087803b158015613a7e57600080fd5b505af1158015613a92573d6000803e3d6000fd5b505050505b613358816149e7565b81156137e457604080518082019091526004546fffffffffffffffffffffffffffffffff80821683527001000000000000000000000000000000009091041660208201528115613b6457613af383614a75565b81518290613b0290839061659d565b6fffffffffffffffffffffffffffffffff90811690915260208301518351908216911611159050613b5f576040517fce16799400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613b92565b613b6d83614a75565b81518290613b7c9083906165d1565b6fffffffffffffffffffffffffffffffff169052505b80516020909101516fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029116176004555050565b6040517fe1998cf900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000169063e1998cf990604401600060405180830381600087803b158015613c5a57600080fd5b505af1158015613c6e573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff871692507f4ad424605b950d17d87835716d98c0cac1f6ff9c38114e63304902188a6908119150600090a260608560005b8181101561401c5736898983818110613cd457613cd4616602565b9050602002810190613ce69190616631565b90506004613cf7602083018361666f565b90501015613d31576040517fe2b0e50600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b30613d3f6020830183615ff9565b73ffffffffffffffffffffffffffffffffffffffff161415613e1b578515613df8576000613d70602083018361666f565b613d79916166d4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f81314b590000000000000000000000000000000000000000000000000000000014613df6576040517f5fb9107f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b613e118888613e0a602085018561666f565b8989614cfd565b9095509350614013565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ff687543613e666020850185615ff9565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401602060405180830381865afa158015613ecf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ef39190616380565b73ffffffffffffffffffffffffffffffffffffffff161480613f6c575073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016613f546020830183615ff9565b73ffffffffffffffffffffffffffffffffffffffff16145b15613fa3576040517ffc1a554300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614011613fb3602083018361666f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613ff5925050506020840184615ff9565b73ffffffffffffffffffffffffffffffffffffffff1690615087565b505b50600101613cb9565b5081511561402e5761402e82866150c9565b6040517f60c8e8938c9a0c0d88a98d6f1c562ce68077e12bf3edb8047378f2f736cb45b490600090a16040517fe1998cf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff87811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063e1998cf990604401600060405180830381600087803b1580156140e657600080fd5b505af11580156140fa573d6000803e3d6000fd5b505050505050505050505050565b6040517f8991b2f100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152600091829160019183917f00000000000000000000000000000000000000000000000000000000000000001690638991b2f190602401602060405180830381865afa15801561419e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c2919061648a565b90505b8082116143f857808216156143ec576040517fe75538c700000000000000000000000000000000000000000000000000000000815260048101839052600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e75538c7906024016040805180830381865afa158015614263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142879190616444565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301529294509092506000918416906370a0823190602401602060405180830381865afa1580156142fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614320919061648a565b905060018111156143e8576040517ff9a650300000000000000000000000000000000000000000000000000000000081526004810182905273ffffffffffffffffffffffffffffffffffffffff8481166024830152600091908b169063f9a6503090604401602060405180830381865afa1580156143a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143c6919061648a565b9788019790506143da61ffff8416826163cc565b6143e49088616568565b9650505b5050505b600182901b91506141c5565b50509250929050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa1580156144b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144d6919061648a565b905090565b60007f000000000000000000000000000000000000000000000000000000000000000080156144d657505060015471010000000000000000000000000000000000900464ffffffffff1642101590565b6040517feb99c2bf00000000000000000000000000000000000000000000000000000000815233600482015281151560248201526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063eb99c2bf906044016020604051808303816000875af11580156145c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145e69190616580565b92915050565b6000806145f886614b1b565b905080156146ca576040517fe1998cf900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301527f0000000000000000000000000000000000000000000000000000000000000000811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063e1998cf990604401600060405180830381600087803b1580156146b157600080fd5b505af11580156146c5573d6000803e3d6000fd5b505050505b60006146d4614401565b6040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015291925060009182917f000000000000000000000000000000000000000000000000000000000000000090911690633192195c90602401606060405180830381865afa15801561476a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061478e91906164a3565b50915091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632362a2d8600086116147dd578a6147ff565b7f00000000000000000000000000000000000000000000000000000000000000005b8861480b57600161480e565b60025b8e338d8d60006040518863ffffffff1660e01b8152600401614836979695949392919061650c565b6020604051808303816000875af1158015614855573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614879919061648a565b94506000614885614401565b905060006148938386616568565b82106148a05760006148b5565b816148ab8487616568565b6148b59190616473565b905080156149ad57600180547fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000017905561490181614a75565b600380546000906149259084906fffffffffffffffffffffffffffffffff1661659d565b82546101009290920a6fffffffffffffffffffffffffffffffff8181021990931691831602179091556003547001000000000000000000000000000000008104821691161115905061497957614979615220565b6040518181527f039b20af1a8da82c3d37dd7b0fe81a987532ffca72fbd69951823f7c40511f2d9060200160405180910390a15b6149b8846000613aa0565b6000861180156149c85750600187115b156149d7576149d78b8761529c565b5050505050509695505050505050565b3373ffffffffffffffffffffffffffffffffffffffff821614801590614a3e575033600090815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15613358576040517f85b0772600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006fffffffffffffffffffffffffffffffff821115614b17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610a0f565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000008015614c1d57506040517f4028eddc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015283811660248301527f00000000000000000000000000000000000000000000000000000000000000001690634028eddc90604401602060405180830381865afa158015614bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c1d9190616580565b15614cf8576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015614cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cf2919061648a565b60010190505b919050565b81816000614d0b86886166d4565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167f81314b59000000000000000000000000000000000000000000000000000000001415614dbd57815115614d90576040517fe61eedf500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614d9d866004818a61671c565b810190614daa91906167ed565b9150614db682896154ab565b915061507b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f6d75b9ee000000000000000000000000000000000000000000000000000000001415614e3b57600080614e17886004818c61671c565b810190614e2491906168b8565b91509150614e34338b848461335c565b505061507b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f2b7c7b11000000000000000000000000000000000000000000000000000000001415614eb857600192506000614e98876004818b61671c565b810190614ea591906168e4565b9050614eb28a8a836155a8565b5061507b565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f2a7ba1f7000000000000000000000000000000000000000000000000000000001415614f63578215614f3a576040517fc0b0caa800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000614f49876004818b61671c565b810190614f5691906168e4565b9050614eb28a8a8361572e565b7fffffffff0000000000000000000000000000000000000000000000000000000081167fc690908a000000000000000000000000000000000000000000000000000000001415614fd6576000614fbc876004818b61671c565b810190614fc99190615ff9565b9050614eb28a8a83615920565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f23e27a6400000000000000000000000000000000000000000000000000000000141561504957600061502f876004818b61671c565b81019061503c9190615ff9565b9050614eb28a8a83615a13565b6040517f1e9e7e7a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50965096945050505050565b606061287a83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250615b31565b815160005b8181101561521a578381815181106150e8576150e8616602565b60200260200101516020015184828151811061510657615106616602565b6020908102919091010151516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152909116906370a0823190602401602060405180830381865afa15801561517f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906151a3919061648a565b1015615212578381815181106151bb576151bb616602565b6020908102919091010151516040517f2f42bd8700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610a0f565b6001016150ce565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561528857600080fd5b505af115801561521a573d6000803e3d6000fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa15801561534d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615371919061648a565b9050818111156154a6576040517f9e38961000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166004830152848116602483015260018484030160448301819052917f000000000000000000000000000000000000000000000000000000000000000090911690639e38961090606401600060405180830381600087803b15801561543c57600080fd5b505af1158015615450573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff167fe2655809b4fc2a2dffc14ecf5aad9dbf5a9703a5bb2b19ab7ae6afa29ef0c7c88260405161549c91815260200190565b60405180910390a2505b505050565b815160609060005b8181101561559f578481815181106154cd576154cd616602565b6020908102919091010151516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152909116906370a0823190602401602060405180830381865afa158015615546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061556a919061648a565b85828151811061557c5761557c616602565b60200260200101516020018181516155949190616568565b9052506001016154b3565b50929392505050565b600154700100000000000000000000000000000000900460ff16156155f9576040517f7615238d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b615602816136e9565b61560b82615b40565b615616816001613aa0565b6040517f94cf073a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015260248201839052600160448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906394cf073a906064016020604051808303816000875af11580156156b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906156db919061648a565b90506156e6816137e8565b8373ffffffffffffffffffffffffffffffffffffffff167f9cac51154cc0d835e2f9c9d1f59a9344588cee107f4203bf58a8c797e3a58c458360405161549c91815260200190565b6040517f3192195c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690633192195c90602401606060405180830381865afa1580156157bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906157e391906164a3565b50506040517f94cf073a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590526000604483018190529293507f000000000000000000000000000000000000000000000000000000000000000016906394cf073a906064016020604051808303816000875af1158015615886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906158aa919061648a565b90506158b5816137e8565b6158c96158c28284616473565b6000613aa0565b8473ffffffffffffffffffffffffffffffffffffffff167f98274bf834d179ee08dc0604071b0dc90b54731bd5f725a5a96a39a86bce025a8460405161591191815260200190565b60405180910390a25050505050565b6040517f51e3f16000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301527f000000000000000000000000000000000000000000000000000000000000000016906351e3f16090604401600060405180830381600087803b1580156159b157600080fd5b505af11580156159c5573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8085169350861691507fdf498aa1c340e992665d6fb4f3be8436d452c45a630cb6d7fab7963da39bac8790600090a3505050565b6040517f0d8f9cee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015282811660248301527f00000000000000000000000000000000000000000000000000000000000000001690630d8f9cee906044016020604051808303816000875af1158015615aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615acd9190616580565b156154a6578073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f69db9e9764da61b6681b89fb0f5be018506e0342036e56b59c3015a620d6097760405160405180910390a3505050565b60606125878484600085615cc4565b6040517f8991b2f100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638991b2f190602401602060405180830381865afa158015615bd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615bf5919061648a565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639fd12b776040518163ffffffff1660e01b8152600401602060405180830381865afa158015615c64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615c88919061648a565b9050818116156154a6576040517faea975da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082471015615d56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610a0f565b73ffffffffffffffffffffffffffffffffffffffff85163b615dd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a0f565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051615dfd9190616929565b60006040518083038185875af1925050503d8060008114615e3a576040519150601f19603f3d011682016040523d82523d6000602084013e615e3f565b606091505b5091509150615e4f828286615e5a565b979650505050505050565b60608315615e6957508161287a565b825115615e795782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f919061693b565b73ffffffffffffffffffffffffffffffffffffffff8116811461335857600080fd5b801515811461335857600080fd5b60008060408385031215615ef057600080fd5b8235615efb81615ead565b91506020830135615f0b81615ecf565b809150509250929050565b80356fffffffffffffffffffffffffffffffff81168114614cf857600080fd5b600060208284031215615f4857600080fd5b61287a82615f16565b60008083601f840112615f6357600080fd5b50813567ffffffffffffffff811115615f7b57600080fd5b6020830191508360208260051b8501011115615f9657600080fd5b9250929050565b60008060008060608587031215615fb357600080fd5b8435615fbe81615ead565b935060208501359250604085013567ffffffffffffffff811115615fe157600080fd5b615fed87828801615f51565b95989497509550505050565b60006020828403121561600b57600080fd5b813561287a81615ead565b60008060008060006080868803121561602e57600080fd5b853561603981615ead565b9450602086013561604981615ead565b935060408601359250606086013567ffffffffffffffff81111561606c57600080fd5b61607888828901615f51565b969995985093965092949392505050565b61ffff8116811461335857600080fd5b6000602082840312156160ab57600080fd5b813561287a81616089565b6000806000606084860312156160cb57600080fd5b83356160d681615ead565b925060208401356160e681615ead565b929592945050506040919091013590565b60008060008060008060a0878903121561611057600080fd5b863561611b81615ead565b9550602087013561612b81615ead565b945060408701359350606087013561614281615ecf565b9250608087013567ffffffffffffffff81111561615e57600080fd5b61616a89828a01615f51565b979a9699509497509295939492505050565b60008060008060006080868803121561619457600080fd5b853561619f81615ead565b94506020860135935060408601356161b681615ecf565b9250606086013567ffffffffffffffff81111561606c57600080fd5b600080604083850312156161e557600080fd5b6161ee83615f16565b91506161fc60208401615f16565b90509250929050565b6000806000806080858703121561621b57600080fd5b84359350602085013561622d81615ead565b9250604085013561623d81616089565b9150606085013561624d81616089565b939692955090935050565b60008060008060006080868803121561627057600080fd5b85359450602086013561628281615ead565b9350604086013567ffffffffffffffff81111561629e57600080fd5b6162aa88828901615f51565b90945092505060608601356162be81616089565b809150509295509295909350565b600080602083850312156162df57600080fd5b823567ffffffffffffffff8111156162f657600080fd5b61630285828601615f51565b90969095509350505050565b6000806040838503121561632157600080fd5b823561632c81615ead565b91506020830135615f0b81615ead565b60006020828403121561634e57600080fd5b813564ffffffffff8116811461287a57600080fd5b60006020828403121561637557600080fd5b813561287a81615ecf565b60006020828403121561639257600080fd5b815161287a81615ead565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156164045761640461639d565b500290565b60008261643f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000806040838503121561645757600080fd5b825161646281615ead565b6020840151909250615f0b81616089565b6000828210156164855761648561639d565b500390565b60006020828403121561649c57600080fd5b5051919050565b6000806000606084860312156164b857600080fd5b8351925060208401519150604084015190509250925092565b60048110616508577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b73ffffffffffffffffffffffffffffffffffffffff888116825260e0820190616538602084018a6164d1565b6040830197909752948616606082015292909416608083015260a082015291151560c09092019190915292915050565b6000821982111561657b5761657b61639d565b500190565b60006020828403121561659257600080fd5b815161287a81615ecf565b60006fffffffffffffffffffffffffffffffff8083168185168083038211156165c8576165c861639d565b01949350505050565b60006fffffffffffffffffffffffffffffffff838116908316818110156165fa576165fa61639d565b039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261666557600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126166a457600080fd5b83018035915067ffffffffffffffff8211156166bf57600080fd5b602001915036819003821315615f9657600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156167145780818660040360031b1b83161692505b505092915050565b6000808585111561672c57600080fd5b8386111561673957600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561679857616798616746565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156167e5576167e5616746565b604052919050565b6000602080838503121561680057600080fd5b823567ffffffffffffffff8082111561681857600080fd5b818501915085601f83011261682c57600080fd5b81358181111561683e5761683e616746565b61684c848260051b0161679e565b818152848101925060069190911b83018401908782111561686c57600080fd5b928401925b81841015615e4f576040848903121561688a5760008081fd5b616892616775565b843561689d81615ead565b81528486013586820152835260409093019291840191616871565b600080604083850312156168cb57600080fd5b82356168d681615ead565b946020939093013593505050565b6000602082840312156168f657600080fd5b5035919050565b60005b83811015616918578181015183820152602001616900565b8381111561521a5750506000910152565b600082516166658184602087016168fd565b602081526000825180602084015261695a8160408501602087016168fd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220b697251adcf801c4e8a143363a51bb663b395cb48fd7c9c00b545f20d922d43964736f6c634300080a0033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_creditManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_degenNFT"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_blacklistHelper"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_expirable"; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "AccountTransferNotAllowedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ActionProhibitedWithForbiddenTokensException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "AdaptersOrCreditFacadeOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "AllowanceFailedException"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "BalanceLessThanMinimumDesiredException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "BorrowAmountOutOfLimitsException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "BorrowedBlockLimitException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CantLiquidateNonExpiredException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CantLiquidateWithSuchHealthFactorException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CantTransferLiquidatableAccountException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CreditConfiguratorOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CreditFacadeOnlyException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ExpectedBalancesAlreadySetException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ForbiddenDuringClosureException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "HasNoOpenedAccountException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "IncorrectCallDataException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "IncreaseAndDecreaseForbiddenInOneCallException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "IncreaseDebtForbiddenException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "LiquiditySanityCheckException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotAllowedForBlacklistedAddressException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotAllowedInWhitelistedMode"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotAllowedWhenNotExpirableException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEnoughCollateralException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "OpenAccountNotAllowedAfterExpirationException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ReentrancyLockException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TargetContractNotAllowedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenAlreadyAddedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenNotAllowedException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TooManyEnabledTokensException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TooManyTokensException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "UnknownMethodException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddressException"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddressOrUserAlreadyHasAccountException"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "AddCollateral"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "blacklistHelper"; readonly type: "address"; }]; readonly name: "BlacklistHelperSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "CloseCreditAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DecreaseBorrowedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "IncreaseBorrowedAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "loss"; readonly type: "uint256"; }]; readonly name: "IncurLossOnLiquidation"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "liquidator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "remainingFunds"; readonly type: "uint256"; }]; readonly name: "LiquidateCreditAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "liquidator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "remainingFunds"; readonly type: "uint256"; }]; readonly name: "LiquidateExpiredCreditAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly []; readonly name: "MultiCallFinished"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }]; readonly name: "MultiCallStarted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "borrowAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "referralCode"; readonly type: "uint16"; }]; readonly name: "OpenCreditAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "TokenDisabled"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "TokenEnabled"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "TransferAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "state"; readonly type: "bool"; }]; readonly name: "TransferAccountAllowed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "UnderlyingSentToBlacklistHelper"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "addCollateral"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "state"; readonly type: "bool"; }]; readonly name: "approveAccountTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "blacklistHelper"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "calcCreditAccountHealthFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "hf"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditAccount"; readonly type: "address"; }]; readonly name: "calcTotalValue"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "total"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "twv"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "closeCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "closeCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "creditManager"; readonly outputs: readonly [{ readonly internalType: "contract ICreditManagerV2"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "degenNFT"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "expirable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getTotalBorrowedInBlock"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "blockLastUpdate"; readonly type: "uint64"; }, { readonly internalType: "uint128"; readonly name: "borrowedInBlock"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }]; readonly name: "hasOpenedCreditAccount"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "isBlacklistableUnderlying"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "isTokenAllowed"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: "allowed"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "limits"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "minBorrowedAmount"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "maxBorrowedAmount"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "liquidateCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "liquidateCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "liquidateExpiredCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "skipTokenMask"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "liquidateExpiredCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "lossParams"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "currentCumulativeLoss"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "maxCumulativeLoss"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }]; readonly name: "multicall"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "leverageFactor"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "referralCode"; readonly type: "uint16"; }]; readonly name: "openCreditAccount"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowedAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "onBehalfOf"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "callData"; readonly type: "bytes"; }]; readonly internalType: "struct MultiCall[]"; readonly name: "calls"; readonly type: "tuple[]"; }, { readonly internalType: "uint16"; readonly name: "referralCode"; readonly type: "uint16"; }]; readonly name: "openCreditAccountMulticall"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "params"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "maxBorrowedAmountPerBlock"; readonly type: "uint128"; }, { readonly internalType: "bool"; readonly name: "isIncreaseDebtForbidden"; readonly type: "bool"; }, { readonly internalType: "uint40"; readonly name: "expirationDate"; readonly type: "uint40"; }, { readonly internalType: "uint16"; readonly name: "emergencyLiquidationDiscount"; readonly type: "uint16"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "pool"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "resetCumulativeLoss"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "_minBorrowedAmount"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "_maxBorrowedAmount"; readonly type: "uint128"; }]; readonly name: "setCreditAccountLimits"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint16"; readonly name: "newDiscount"; readonly type: "uint16"; }]; readonly name: "setEmergencyLiquidationDiscount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint40"; readonly name: "newExpirationDate"; readonly type: "uint40"; }]; readonly name: "setExpirationDate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_mode"; readonly type: "bool"; }]; readonly name: "setIncreaseDebtForbidden"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "newLimit"; readonly type: "uint128"; }]; readonly name: "setLimitPerBlock"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "_maxCumulativeLoss"; readonly type: "uint128"; }]; readonly name: "setMaxCumulativeLoss"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "newCurrentTotalDebt"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "newLimit"; readonly type: "uint128"; }]; readonly name: "setTotalDebtParams"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalDebt"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "currentTotalDebt"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "totalDebtLimit"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "transferAccountOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "transfersAllowed"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "underlying"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "version"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "wethAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "whitelisted"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): CreditFacadeInterface; static connect(address: string, signerOrProvider: Signer | Provider): CreditFacade; } export {};