import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { CreditDesk, CreditDeskInterface } from "../CreditDesk"; type CreditDeskConstructorParams = [linkLibraryAddresses: CreditDeskLibraryAddresses, signer?: Signer] | ConstructorParameters; export declare class CreditDesk__factory extends ContractFactory { constructor(...args: CreditDeskConstructorParams); static linkBytecode(linkLibraryAddresses: CreditDeskLibraryAddresses): string; deploy(overrides?: Overrides & { from?: string; }): Promise; getDeployTransaction(overrides?: Overrides & { from?: string; }): TransactionRequest; attach(address: string): CreditDesk; connect(signer: Signer): CreditDesk__factory; static readonly bytecode = "0x60a06040523060805234801561001457600080fd5b506080516159086200004d6000396000818161134001528181611380015281816115d6015281816116160152611c8d01526159086000f3fe6080604052600436106101f95760003560e01c806352d1902d1161010d57806391d14854116100a0578063c26ff9361161006f578063c26ff93614610603578063c407687614610623578063d547741f14610643578063ed80c85014610663578063f5c7e0e21461067a57600080fd5b806391d148541461059757806394a3fcad146105b7578063a217fddf146105d7578063a6f4487e146105ec57600080fd5b80636bb987fe116100dc5780636bb987fe1461050657806379502c551461051b5780637d5336421461053c578063844a28c31461056a57600080fd5b806352d1902d146104825780635c975abb146104975780635fde8a4d146104af5780636acab9da146104e657600080fd5b80632f2ff15d116101905780633659cfe61161015f5780633659cfe6146103fa57806346c2f13a1461041a578063485cc9551461042f5780634f1ef2861461044f57806351ae58af1461046257600080fd5b80632f2ff15d1461035f57806330e0b4bd1461037f5780633470e278146103ba57806336568abe146103da57600080fd5b8063221072f2116101cc578063221072f2146102b7578063248a9ca3146102d75780632c365f44146103075780632e0c6cfe1461033f57600080fd5b806301d650e1146101fe57806301ffc9a7146102315780630bfc1f75146102615780630e4645ef14610295575b600080fd5b34801561020a57600080fd5b5061021e61021936600461517e565b61069a565b6040519081526020015b60405180910390f35b34801561023d57600080fd5b5061025161024c36600461519b565b610871565b6040519015158152602001610228565b34801561026d57600080fd5b5061021e7f2ba088aeac4c69066badb5456997747974789cf8224c06112a8fa3d88cb8092981565b3480156102a157600080fd5b506102b56102b03660046151c5565b6108a8565b005b3480156102c357600080fd5b506102b56102d23660046151c5565b610994565b3480156102e357600080fd5b5061021e6102f23660046151f1565b600090815260fb602052604090206001015490565b34801561031357600080fd5b5061032761032236600461520a565b610b8c565b6040516001600160a01b039091168152602001610228565b34801561034b57600080fd5b506102b561035a3660046151c5565b610ed3565b34801561036b57600080fd5b506102b561037a366004615273565b611017565b34801561038b57600080fd5b5061039f61039a36600461517e565b611041565b60408051825181526020928301519281019290925201610228565b3480156103c657600080fd5b5061021e6103d536600461517e565b611184565b3480156103e657600080fd5b506102b56103f5366004615273565b6112b8565b34801561040657600080fd5b506102b561041536600461517e565b611336565b34801561042657600080fd5b506102b5611415565b34801561043b57600080fd5b506102b561044a3660046152a3565b611460565b6102b561045d366004615318565b6115cc565b34801561046e57600080fd5b506102b561047d36600461517e565b611698565b34801561048e57600080fd5b5061021e611c80565b3480156104a357600080fd5b5060975460ff16610251565b3480156104bb57600080fd5b5061021e6104ca36600461517e565b6001600160a01b03166000908152610162602052604090205490565b3480156104f257600080fd5b506102b56105013660046151c5565b611d33565b34801561051257600080fd5b5061021e600a81565b34801561052757600080fd5b5061016154610327906001600160a01b031681565b34801561054857600080fd5b5061021e61055736600461517e565b6101626020526000908152604090205481565b34801561057657600080fd5b5061058a61058536600461517e565b6125e7565b60405161022891906153c0565b3480156105a357600080fd5b506102516105b2366004615273565b612661565b3480156105c357600080fd5b5061021e6105d23660046151c5565b61268c565b3480156105e357600080fd5b5061021e600081565b3480156105f857600080fd5b5061021e61015f5481565b34801561060f57600080fd5b5061058a61061e36600461517e565b6128b9565b34801561062f57600080fd5b506102b561063e3660046151c5565b61292e565b34801561064f57600080fd5b506102b561065e366004615273565b612c49565b34801561066f57600080fd5b5061021e6101605481565b34801561068657600080fd5b506102b561069536600461517e565b612c6e565b6001600160a01b038116600090815261016260209081526040808320815180830183528154815260018201805484518187028101870190955280855286959294858401939092919083018282801561071b57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106fd575b5050509190925250505060208101519091506000805b825181101561084457600083828151811061074e5761074e61540d565b60200260200101519050806001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ba9190615423565b1561083b57806001600160a01b031663b39699926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108219190615423565b61082b9087615452565b9550610838600184615452565b92505b50600101610731565b50801561085e576108558185615465565b95945050505050565b506000949350505050565b505050919050565b60006001600160e01b03198216637965db0b60e01b14806108a257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6108b26000612f04565b6108ba612f0e565b6108c381612f56565b61093a5760405162461bcd60e51b815260206004820152603a60248201527f54686973206c696d69742069732067726561746572207468616e20746865206d60448201527f617820616c6c6f776564206279207468652070726f746f636f6c00000000000060648201526084015b60405180910390fd5b6001600160a01b0382166000818152610162602052604090819020839055517f7be5403eca163f383a39c2d1f65a8fee2c9e41e7e6b150f4abfe16eaaf1d9076906109889084815260200190565b60405180910390a25050565b61099e6000612f04565b6109a6612f0e565b604051634a6cb28d60e01b81526001600482015282906001600160a01b03821690634a6cb28d90602401600060405180830381600087803b1580156109ea57600080fd5b505af11580156109fe573d6000803e3d6000fd5b50506101615460009250610a1b91506001600160a01b0316612fd6565b61016154909150600090610a37906001600160a01b0316612fe1565b6040516323b872dd60e01b81529091506001600160a01b038216906323b872dd90610a6a90339030908990600401615487565b6020604051808303816000875af1158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad91906154ab565b5060405163095ea7b360e01b81526001600160a01b0383811660048301526024820186905282169063095ea7b3906044016020604051808303816000875af1158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2191906154ab565b50604051635ec13c8b60e11b8152600481018590526001600160a01b03868116602483015283169063bd827916906044015b600060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505050505050505050565b6000610b96612f0e565b336000908152610162602090815260408083206001600160a01b038c168452610163909252909120610bc88983612fec565b610c2b5760405162461bcd60e51b815260206004820152602e60248201527f54686520756e6465727772697465722063616e6e6f742063726561746520746860448201526d697320637265646974206c696e6560901b6064820152608401610931565b6000610c3561307a565b6001600160a01b03166301b215516040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9891906154cd565b60405163146e229360e31b81523060048201526001600160a01b038d81166024830152336044830152606482018d9052608482018c905260a482018b905260c482018a905260e48201899052878116610104830152919250829182169063a37114989061012401600060405180830381600087803b158015610d1957600080fd5b505af1158015610d2d573d6000803e3d6000fd5b505050506001848101805480830182556000918252602080832090910180546001600160a01b03199081166001600160a01b038881169182179093558854958601895588855283852090950180548216861790558484526101649092526040808420805490931685179092559051908f16917fc1d7685016f2246662e70fe17df916e959813e9ab93d50c4f039c0c069c5f37191a3610161546001600160a01b0380831691632f2ff15d917fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e91610e0491166130ee565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b158015610e4b57600080fd5b505af1158015610e5f573d6000803e3d6000fd5b50506101615460405163182cdbe360e11b81526001600160a01b0391821660048201529084169250633059b7c69150602401600060405180830381600087803b158015610eab57600080fd5b505af1158015610ebf573d6000803e3d6000fd5b50939e9d5050505050505050505050505050565b610edb612f0e565b6001600160a01b0380831660009081526101646020526040902054839116610f155760405162461bcd60e51b8152600401610931906154ea565b826000610f23828543613161565b9250508115905061100557816001600160a01b031663e0dfff9c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9091906154cd565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b03919091169063a9059cbb906044016020604051808303816000875af1158015610fdf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100391906154ab565b505b61101082854361339a565b5050505050565b600082815260fb602052604090206001015461103281612f04565b61103c8383613503565b505050565b60408051808201909152600080825260208201526101615460009061106e906001600160a01b0316612fd6565b6101615490915060009061108a906001600160a01b0316613589565b6040516370a0823160e01b81526001600160a01b0386811660048301529192506000918316906370a0823190602401602060405180830381865afa1580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190615423565b604051633f245c4d60e01b8152600481018290529091506000906001600160a01b03851690633f245c4d90602401602060405180830381865afa158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190615423565b60408051808201909152928352602083015250949350505050565b6001600160a01b038116600090815261016260209081526040808320815180830183528154815260018201805484518187028101870190955280855286959294858401939092919083018282801561120557602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116111e7575b50505091909252505050602081015190915060005b81518110156108695760008282815181106112375761123761540d565b60200260200101519050806001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561127f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a39190615423565b6112ad9086615452565b94505060010161121a565b6001600160a01b03811633146113285760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610931565b6113328282613594565b5050565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361137e5760405162461bcd60e51b815260040161093190615517565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166113c760008051602061588c833981519152546001600160a01b031690565b6001600160a01b0316146113ed5760405162461bcd60e51b815260040161093190615563565b6113f6816135fb565b6040805160008082526020820190925261141291839190613605565b50565b61141f6000612f04565b611427612f0e565b6101615461143d906001600160a01b0316613770565b61016180546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff16158080156114805750600054600160ff909116105b8061149a5750303b15801561149a575060005460ff166001145b6114fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610931565b6000805460ff191660011790558015611520576000805461ff0019166101001790555b611528613788565b6115306137b7565b61155b7f2ba088aeac4c69066badb5456997747974789cf8224c06112a8fa3d88cb8092960006137e6565b611566600084613831565b61016180546001600160a01b0319166001600160a01b038416179055801561103c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036116145760405162461bcd60e51b815260040161093190615517565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661165d60008051602061588c833981519152546001600160a01b031690565b6001600160a01b0316146116835760405162461bcd60e51b815260040161093190615563565b61168c826135fb565b61133282826001613605565b6116c17f2ba088aeac4c69066badb5456997747974789cf8224c06112a8fa3d88cb80929612f04565b60975460ff166116d3576116d361383b565b610161546000906116ec906001600160a01b0316612fe1565b61016154909150600090611708906001600160a01b0316613895565b61016154909150600090611724906001600160a01b0316612fd6565b6040516370a0823160e01b81526001600160a01b0380831660048301529192506000918516906370a0823190602401602060405180830381865afa158015611770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117949190615423565b905080156118fb576101615482906000906001600160a01b03808416916323b872dd916117c19116612fd6565b87866040518463ffffffff1660e01b81526004016117e193929190615487565b6020604051808303816000875af1158015611800573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182491906154ab565b9050816001600160a01b031663aa09d5b76040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561186157600080fd5b505af1158015611875573d6000803e3d6000fd5b50505050806118bd5760405162461bcd60e51b815260206004820152601460248201527311985a5b1959081d1bc81cddd9595c081c1bdbdb60621b6044820152606401610931565b7f7e9aece4e8d859191ab98ca7bef503982621e0388e17d4eb8183b32f22828e768487856040516118f093929190615487565b60405180910390a150505b6001600160a01b0385166000908152610162602090815260408083208151808301835281548152600182018054845181870281018701909552808552919492938584019390929083018282801561197b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161195d575b505050505081525050905060005b816020015151811015611c77576000826020015182815181106119ae576119ae61540d565b602002602001015190506000816001600160a01b031663e0dfff9c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906154cd565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190615423565b90508015611b425760405163a9059cbb60e01b81526001600160a01b0389811660048301526024820183905283169063a9059cbb906044016020604051808303816000875af1158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0591906154ab565b507f7e9aece4e8d859191ab98ca7bef503982621e0388e17d4eb8183b32f22828e76308383604051611b3993929190615487565b60405180910390a15b6040516370a0823160e01b81526001600160a01b038481166004830152600091908b16906370a0823190602401602060405180830381865afa158015611b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb09190615423565b90508015611c68576040516323b872dd60e01b81526001600160a01b038b16906323b872dd90611be89087908d908690600401615487565b6020604051808303816000875af1158015611c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2b91906154ab565b507f7e9aece4e8d859191ab98ca7bef503982621e0388e17d4eb8183b32f22828e76848b83604051611c5f93929190615487565b60405180910390a15b84600101945050505050611989565b50505050505050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611d205760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610931565b5060008051602061588c83398151915290565b611d3b612f0e565b6001600160a01b0380831660009081526101646020526040902054839116611d755760405162461bcd60e51b8152600401610931906154ea565b6040516330da6f2160e21b81526000600482015283906001600160a01b0382169063c369bc8490602401600060405180830381600087803b158015611db957600080fd5b505af1158015611dcd573d6000803e3d6000fd5b505033600090815261016360209081526040918290208251633837ffe760e21b815292519094506001600160a01b038616935063e0dfff9c9260048082019392918290030181865afa158015611e27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4b91906154cd565b6001600160a01b03166323b872dd3330876040518463ffffffff1660e01b8152600401611e7a93929190615487565b6020604051808303816000875af1158015611e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ebd91906154ab565b50816001600160a01b03166323b98cde6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2091906154ab565b15611f6d5760405162461bcd60e51b815260206004820152601d60248201527f4372656469746c696e6520416c7265616479204c6971756964617465640000006044820152606401610931565b8054611fcb5760405162461bcd60e51b815260206004820152602760248201527f4e6f20637265646974206c696e657320657869737420666f722074686973206260448201526637b93937bbb2b960c91b6064820152608401610931565b6000841161201b5760405162461bcd60e51b815260206004820152601c60248201527f4d7573742064726177646f776e206d6f7265207468616e207a65726f000000006044820152606401610931565b336001600160a01b0316826001600160a01b0316637df1f1b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015612063573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208791906154cd565b6001600160a01b0316146120f25760405162461bcd60e51b815260206004820152602c60248201527f596f7520617265206e6f742074686520626f72726f776572206f66207468697360448201526b20637265646974206c696e6560a01b6064820152608401610931565b6120fb846138ad565b6121175760405162461bcd60e51b8152600401610931906155af565b6000612122866138c8565b905061212f85828561394e565b6121a3576040805162461bcd60e51b81526020600482015260248101919091527f54686520626f72726f77657220646f6573206e6f74206861766520656e6f756760448201527f6820637265646974206c696d697420666f7220746869732064726177646f776e6064820152608401610931565b6000836001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122079190615423565b9050806000036122d1576040516329771b2f60e11b81524360048201526001600160a01b038516906352ee365e90602401600060405180830381600087803b15801561225257600080fd5b505af1158015612266573d6000803e3d6000fd5b50505050836001600160a01b03166351bc49536122804390565b6040518263ffffffff1660e01b815260040161229e91815260200190565b600060405180830381600087803b1580156122b857600080fd5b505af11580156122cc573d6000803e3d6000fd5b505050505b610161546000906122ea906001600160a01b0316612fd6565b9050600083156123d0578388111561230f5750826123088882613a02565b9750612314565b506000965b6040516323b872dd60e01b81526000906001600160a01b038416906323b872dd90612347908d9033908790600401615487565b6020604051808303816000875af1158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238a91906154ab565b9050806123ce5760405162461bcd60e51b81526020600482015260126024820152712330b4b632b2103a3790323930bbb237bbb760711b6044820152606401610931565b505b6000806123dd8843613a15565b90925090506123ec858b613bb4565b94506123fa88868484613bc0565b61240388613f72565b156124635760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f742064726177646f776e207768656e207061796d656e74732061726044820152696520706173742064756560b01b6064820152608401610931565b6001600160a01b038816337f7162ca2b5d1946913410a0565988b67e7b50d02f0fa6b851f0fa160b11715ca26124998d87613bb4565b428c6001600160a01b03166348e6f2966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fc9190615423565b6040805193845260208401929092529082015260600160405180910390a389156125da576040516335655ced60e11b8152336004820152602481018b90526000906001600160a01b03861690636acab9da906044016020604051808303816000875af1158015612570573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061259491906154ab565b9050806125d85760405162461bcd60e51b81526020600482015260126024820152712330b4b632b2103a3790323930bbb237bbb760711b6044820152606401610931565b505b5050505050505050505050565b6001600160a01b0381166000908152610162602090815260409182902060010180548351818402810184019094528084526060939283018282801561265557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612637575b50505050509050919050565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b038083166000908152610164602052604081205490918491166126c85760405162461bcd60e51b8152600401610931906154ea565b826000036126d4574392505b6000849050806001600160a01b031663500b245e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b9190615423565b8410801561274f575061274d81613f72565b155b1561275e5760009250506128b2565b61016154600090819073__$1dcd660c042b25ef260537b13a3f0ede49$__9063101c84309085908990612799906001600160a01b031661402c565b6040518463ffffffff1660e01b81526004016127b7939291906155f7565b6040805180830381865af41580156127d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f79190615618565b915091506128ac61286a82856001600160a01b031663193501146040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128649190615423565b90613bb4565b61286484866001600160a01b03166321856b366040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b94505050505b5092915050565b6001600160a01b03811660009081526101636020908152604091829020805483518184028101840190945280845260609392830182828015612655576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116126375750505050509050919050565b612936612f0e565b6001600160a01b03808316600090815261016460205260409020548391166129705760405162461bcd60e51b8152600401610931906154ea565b600082116129c05760405162461bcd60e51b815260206004820152601760248201527f4d75737420706179206d6f7265207468616e207a65726f0000000000000000006044820152606401610931565b6000839050806001600160a01b03166323b98cde6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a2791906154ab565b15612a745760405162461bcd60e51b815260206004820152601d60248201527f4372656469746c696e6520416c7265616479204c6971756964617465640000006044820152606401610931565b6000612a81828543613161565b92505050612a8f828561405e565b6000826001600160a01b031663e0dfff9c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612acf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af391906154cd565b90508115612b6e5760405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015612b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6c91906154ab565b505b6040516370a0823160e01b81523060048201526001600160a01b038216906370a0823190602401602060405180830381865afa158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd69190615423565b600003612c38576040516330da6f2160e21b8152600160048201526001600160a01b0384169063c369bc8490602401600060405180830381600087803b158015612c1f57600080fd5b505af1158015612c33573d6000803e3d6000fd5b505050505b612c4186612c6e565b505050505050565b600082815260fb6020526040902060010154612c6481612f04565b61103c8383613594565b612c76612f0e565b6001600160a01b0380821660009081526101646020526040902054829116612cb05760405162461bcd60e51b8152600401610931906154ea565b60008290506000816001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d199190615423565b11612d765760405162461bcd60e51b815260206004820152602760248201527f4d75737420686176652062616c616e636520746f2061737365737320637265646044820152666974206c696e6560c81b6064820152608401610931565b806001600160a01b031663500b245e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dd89190615423565b43108015612dec5750612dea81613f72565b155b15612df657505050565b6000612e018261419d565b604051637957dda360e01b8152600481018290529091506001600160a01b03831690637957dda390602401600060405180830381600087803b158015612e4657600080fd5b505af1158015612e5a573d6000803e3d6000fd5b50505050612e654390565b811115612eeb576000612edb600a846001600160a01b03166399dd8df36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ed59190615423565b90614427565b9050612ee78282613a02565b9150505b612efe82612ef8846138c8565b8361339a565b50505050565b6114128133614433565b60975460ff1615612f545760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610931565b565b610161546000906001600160a01b031663fc56365860025b6040518263ffffffff1660e01b8152600401612f8c91815260200190565b602060405180830381865afa158015612fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcd9190615423565b90911115919050565b60006108a28261448c565b60006108a2826144a3565b80546000908082036130535760405162461bcd60e51b815260206004820152602a60248201527f756e64657277726974657220646f6573206e6f74206861766520676f7665726e604482015269185b98d9481b1a5b5a5d60b21b6064820152608401610931565b600061305e846144bb565b9050600061306c8287613bb4565b929092111595945050505050565b61016154604051635c9fcd8560e11b8152600260048201526000916001600160a01b03169063b93f9b0a90602401602060405180830381865afa1580156130c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130e991906154cd565b905090565b60006001600160a01b03821663b93f9b0a60075b6040518263ffffffff1660e01b815260040161312091815260200190565b602060405180830381865afa15801561313d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a291906154cd565b60008060008060006131738887614591565b91509150600073__$1dcd660c042b25ef260537b13a3f0ede49$__63d7cc2a03898b6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f69190615423565b6040516001600160e01b031960e085901b168152600481019290925260248201526044810186905260648101859052608401606060405180830381865af4158015613245573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613269919061563c565b905060006132dd82602001518b6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d79190615423565b90613a02565b90506132f6826040015182613a0290919063ffffffff16565b9050600061333c828c6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b3573d6000803e3d6000fd5b9050600061335b826132d786600001518e613a0290919063ffffffff16565b90508a61337983612864876000015185613bb490919063ffffffff16565b1461338657613386615698565b9251929b929a509850909650505050505050565b60008060006133aa86868661467f565b6101615492955090935091506000906133cb906001600160a01b0316612fd6565b90506133d7878261489e565b60008311806133e65750600082115b15611c7757866001600160a01b0316876001600160a01b0316637df1f1b96040518163ffffffff1660e01b8152600401602060405180830381865afa158015613433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061345791906154cd565b60408051868152602081018690529081018790526001600160a01b0391909116907f724fe786cff62c97ff230e98a332f95c5a11990e44123a00c2b8e76b0566e4119060600160405180910390a36040516371bb0bab60e01b81526001600160a01b038216906371bb0bab906134d5908a90879087906004016155f7565b600060405180830381600087803b1580156134ef57600080fd5b505af11580156125da573d6000803e3d6000fd5b61350d8282612661565b61133257600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556135453390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006108a282614b1f565b61359e8282612661565b1561133257600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6114126000612f04565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156136385761103c83614b37565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613692575060408051601f3d908101601f1916820190925261368f91810190615423565b60015b6136f55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610931565b60008051602061588c83398151915281146137645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610931565b5061103c838383614bd3565b60006001600160a01b03821663b93f9b0a600b613102565b600054610100900460ff166137af5760405162461bcd60e51b8152600401610931906156ae565b612f54614bf8565b600054610100900460ff166137de5760405162461bcd60e51b8152600401610931906156ae565b612f54614c2b565b600082815260fb6020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6113328282613503565b613843612f0e565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586138783390565b6040516001600160a01b03909116815260200160405180910390a1565b60006001600160a01b03821663b93f9b0a6006613102565b610161546000906001600160a01b031663fc56365882612f6e565b610161546000906138e1906001600160a01b0316612fe1565b6040516370a0823160e01b81526001600160a01b03848116600483015291909116906370a08231906024015b602060405180830381865afa15801561392a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190615423565b6000816001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561398e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139b29190615423565b6139f8846132d787866001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b1115949350505050565b6000613a0e82846156f9565b9392505050565b60008060008073__$1dcd660c042b25ef260537b13a3f0ede49$__63101c84308787613a5f61016160009054906101000a90046001600160a01b03166001600160a01b031661402c565b6040518463ffffffff1660e01b8152600401613a7d939291906155f7565b6040805180830381865af4158015613a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613abd9190615618565b90925090508115613b23576040516329771b2f60e11b8152600481018690526001600160a01b038716906352ee365e90602401600060405180830381600087803b158015613b0a57600080fd5b505af1158015613b1e573d6000803e3d6000fd5b505050505b613b6582876001600160a01b03166321856b366040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b613ba782886001600160a01b031663193501146040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b9350935050509250929050565b6000613a0e8284615452565b613bc8614c5a565b613c37846001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c2d9190615423565b6101605490613a02565b61016055604051637d8b34e560e11b8152600481018490526001600160a01b0385169063fb1669ca90602401600060405180830381600087803b158015613c7d57600080fd5b505af1158015613c91573d6000803e3d6000fd5b50506040516396c8df3760e01b8152600481018590526001600160a01b03871692506396c8df379150602401600060405180830381600087803b158015613cd757600080fd5b505af1158015613ceb573d6000803e3d6000fd5b505060405163b3b8a9c760e01b8152600481018490526001600160a01b038716925063b3b8a9c79150602401600060405180830381600087803b158015613d3157600080fd5b505af1158015613d45573d6000803e3d6000fd5b505050506000846001600160a01b031663500b245e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dad9190615423565b905082158015613dbc57508015155b15613e8357600081431015613e24576000613e10600a886001600160a01b03166399dd8df36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eb1573d6000803e3d6000fd5b9050613e1c8382613a02565b915050613e27565b50805b6040516351bc495360e01b8152600481018290526001600160a01b038716906351bc495390602401600060405180830381600087803b158015613e6957600080fd5b505af1158015613e7d573d6000803e3d6000fd5b50505050505b61016054613e919085613bb4565b610160556001600160a01b03851663fb9eb990613eae8787614cb5565b6040518263ffffffff1660e01b8152600401613ecc91815260200190565b600060405180830381600087803b158015613ee657600080fd5b505af1158015613efa573d6000803e3d6000fd5b50505050846001600160a01b0316637957dda3613f168761419d565b6040518263ffffffff1660e01b8152600401613f3491815260200190565b600060405180830381600087803b158015613f4e57600080fd5b505af1158015613f62573d6000803e3d6000fd5b5050505050612efe600161012d55565b600080613fe0836001600160a01b031663bfe976a96040518163ffffffff1660e01b8152600401602060405180830381865afa158015613fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fda9190615423565b436132d7565b9050614025600a846001600160a01b03166399dd8df36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eb1573d6000803e3d6000fd5b1092915050565b60006001600160a01b03821663fc56365860055b6040518263ffffffff1660e01b815260040161390d91815260200190565b614067816138ad565b6140835760405162461bcd60e51b8152600401610931906155af565b6040518181526001600160a01b0383169033907fc4036209c61f1d5aad789d2b8fa9ca23bf8b1516748d2e0be7227bf3fce67d2d9060200160405180910390a3610161546000906140dc906001600160a01b0316612fd6565b6001600160a01b03166323b872dd3385856040518463ffffffff1660e01b815260040161410b93929190615487565b6020604051808303816000875af115801561412a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061414e91906154ab565b90508061103c5760405162461bcd60e51b815260206004820152601960248201527f4661696c656420746f20636f6c6c656374207061796d656e74000000000000006044820152606401610931565b6000806141e3600a846001600160a01b03166399dd8df36040518163ffffffff1660e01b8152600401602060405180830381865afa158015612eb1573d6000803e3d6000fd5b90506000836001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015614225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142499190615423565b90506000846001600160a01b031663500b245e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561428b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142af9190615423565b905043811580156142c05750600083115b156142d9576142cf8185613bb4565b9695505050505050565b6000831180156142e95750818110155b1561439157600061430d85612ed5600161286483614307888a613a02565b90614e0d565b90506143198382613bb4565b925061438683886001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561435d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143819190615423565b614e19565b979650505050505050565b8215801561439e57508115155b156143af5750600095945050505050565b6000831180156143be57508181105b156143cc5750949350505050565b60405162461bcd60e51b815260206004820152602a60248201527f4572726f723a20636f756c64206e6f742063616c63756c617465206e65787420604482015269323ab290313637b1b59760b11b6064820152608401610931565b6000613a0e828461570c565b61443d8282612661565b6113325761444a81614e2f565b614455836020614e41565b604051602001614466929190615747565b60408051601f198184030181529082905262461bcd60e51b8252610931916004016157bc565b60006001600160a01b03821663b93f9b0a82613102565b60006001600160a01b03821663b93f9b0a6005613102565b60018101546000908190815b818110156145885760008560010182815481106144e6576144e661540d565b9060005260206000200160009054906101000a90046001600160a01b03169050614572816001600160a01b031663a4d66daf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061456b9190615423565b8590613bb4565b9350508080614580906157ef565b9150506144c7565b50909392505050565b60008060008073__$1dcd660c042b25ef260537b13a3f0ede49$__63101c843087876145db61016160009054906101000a90046001600160a01b03166001600160a01b031661402c565b6040518463ffffffff1660e01b81526004016145f9939291906155f7565b6040805180830381865af4158015614615573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146399190615618565b91509150613b6582876001600160a01b03166321856b366040518163ffffffff1660e01b8152600401602060405180830381865afa158015612840573d6000803e3d6000fd5b60008060008060006146918887613a15565b91509150600073__$1dcd660c042b25ef260537b13a3f0ede49$__63d7cc2a03898b6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156146f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147149190615423565b6040516001600160e01b031960e085901b168152600481019290925260248201526044810186905260648101859052608401606060405180830381865af4158015614763573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614787919061563c565b905060006147d182602001518b6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b3573d6000803e3d6000fd5b90506147ea826040015182613a0290919063ffffffff16565b90506000614830828c6001600160a01b031663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132b3573d6000803e3d6000fd5b9050600061484f826132d786600001518e613a0290919063ffffffff16565b90506148828c8461486d87600001518a613a0290919063ffffffff16565b602088015161487d908a90613a02565b613bc0565b8a61337983612864876000015185613bb490919063ffffffff16565b60008073__$1dcd660c042b25ef260537b13a3f0ede49$__63ca5735688543610161546148d3906001600160a01b031661402c565b610161546148e9906001600160a01b0316614fdd565b6040516001600160e01b031960e087901b1681526001600160a01b0390941660048501526024840192909252604483015260648201526084016040805180830381865af415801561493e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149629190615618565b915091508160001480156149d55750836001600160a01b031663cc862de56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156149af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149d39190615423565b155b156149e05750505050565b600081856001600160a01b031663cc862de56040518163ffffffff1660e01b8152600401602060405180830381865afa158015614a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a459190615423565b614a4f9190615808565b6040516304ee3d9560e31b8152600481018490529091506001600160a01b03861690632771eca890602401600060405180830381600087803b158015614a9457600080fd5b505af1158015614aa8573d6000803e3d6000fd5b505050506000811315614acc5761015f54614ac39082613a02565b61015f55614aea565b614ae5614adb82600019615828565b61015f5490613bb4565b61015f555b604051630ce1d12f60e21b81526001600160a01b0386811660048301526024820183905285169063338744bc90604401610b53565b60006001600160a01b03821663b93f9b0a6004613102565b6001600160a01b0381163b614ba45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610931565b60008051602061588c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b614bdc83614ff5565b600082511180614be95750805b1561103c57612efe8383615035565b600054610100900460ff16614c1f5760405162461bcd60e51b8152600401610931906156ae565b6097805460ff19169055565b600054610100900460ff16614c525760405162461bcd60e51b8152600401610931906156ae565b600161012d55565b600261012d5403614cad5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610931565b600261012d55565b600081600003614cc7575060006108a2565b826001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa158015614d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d299190615423565b15614d9757826001600160a01b0316631790ebd56040518163ffffffff1660e01b8152600401602060405180830381865afa158015614d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d909190615423565b90506108a2565b613a0e614e07846001600160a01b03166348e6f2966040518163ffffffff1660e01b8152600401602060405180830381865afa158015614ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614dff9190615423565b600a90614427565b43612864565b6000613a0e8284615465565b6000818310614e285781613a0e565b5090919050565b60606108a26001600160a01b03831660145b60606000614e5083600261570c565b614e5b906002615452565b67ffffffffffffffff811115614e7357614e736152d1565b6040519080825280601f01601f191660200182016040528015614e9d576020820181803683370190505b509050600360fc1b81600081518110614eb857614eb861540d565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110614ee757614ee761540d565b60200101906001600160f81b031916908160001a9053506000614f0b84600261570c565b614f16906001615452565b90505b6001811115614f8e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110614f4a57614f4a61540d565b1a60f81b828281518110614f6057614f6061540d565b60200101906001600160f81b031916908160001a90535060049490941c93614f8781615858565b9050614f19565b508315613a0e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610931565b60006001600160a01b03821663fc5636586006614040565b614ffe81614b37565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060613a0e83836040518060600160405280602781526020016158ac602791396060600080856001600160a01b031685604051615072919061586f565b600060405180830381855af49150503d80600081146150ad576040519150601f19603f3d011682016040523d82523d6000602084013e6150b2565b606091505b50915091506142cf868383876060831561512d578251600003615126576001600160a01b0385163b6151265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610931565b5081615137565b615137838361513f565b949350505050565b81511561514f5781518083602001fd5b8060405162461bcd60e51b815260040161093191906157bc565b6001600160a01b038116811461141257600080fd5b60006020828403121561519057600080fd5b8135613a0e81615169565b6000602082840312156151ad57600080fd5b81356001600160e01b031981168114613a0e57600080fd5b600080604083850312156151d857600080fd5b82356151e381615169565b946020939093013593505050565b60006020828403121561520357600080fd5b5035919050565b600080600080600080600060e0888a03121561522557600080fd5b873561523081615169565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c088013561526381615169565b8091505092959891949750929550565b6000806040838503121561528657600080fd5b82359150602083013561529881615169565b809150509250929050565b600080604083850312156152b657600080fd5b82356152c181615169565b9150602083013561529881615169565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715615310576153106152d1565b604052919050565b6000806040838503121561532b57600080fd5b823561533681615169565b915060208381013567ffffffffffffffff8082111561535457600080fd5b818601915086601f83011261536857600080fd5b81358181111561537a5761537a6152d1565b61538c601f8201601f191685016152e7565b915080825287848285010111156153a257600080fd5b80848401858401376000848284010152508093505050509250929050565b6020808252825182820181905260009190848201906040850190845b818110156154015783516001600160a01b0316835292840192918401916001016153dc565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561543557600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156108a2576108a261543c565b60008261548257634e487b7160e01b600052601260045260246000fd5b500490565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000602082840312156154bd57600080fd5b81518015158114613a0e57600080fd5b6000602082840312156154df57600080fd5b8151613a0e81615169565b602080825260139082015272556e6b6e6f776e20637265646974206c696e6560681b604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60208082526028908201527f416d6f756e74206973206f76657220746865207065722d7472616e73616374696040820152671bdb881b1a5b5a5d60c21b606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b6000806040838503121561562b57600080fd5b505080516020909101519092909150565b60006060828403121561564e57600080fd5b6040516060810181811067ffffffffffffffff82111715615671576156716152d1565b80604052508251815260208301516020820152604083015160408201528091505092915050565b634e487b7160e01b600052600160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b818103818111156108a2576108a261543c565b80820281158282048414176108a2576108a261543c565b60005b8381101561573e578181015183820152602001615726565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161577f816017850160208801615723565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516157b0816028840160208801615723565b01602801949350505050565b60208152600082518060208401526157db816040850160208701615723565b601f01601f19169190910160400192915050565b6000600182016158015761580161543c565b5060010190565b81810360008312801583831316838312821617156128b2576128b261543c565b80820260008212600160ff1b841416156158445761584461543c565b81810583148215176108a2576108a261543c565b6000816158675761586761543c565b506000190190565b60008251615881818460208701615723565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fdba3234bf3920581d3899906da73126fd966f5d9825a6d7be7fb8e8695e9dc464736f6c63430008130033"; static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "previousAdmin"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newAdmin"; readonly type: "address"; }]; readonly name: "AdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "beacon"; readonly type: "address"; }]; readonly name: "BeaconUpgraded"; 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: "creditLine"; readonly type: "address"; }]; readonly name: "CreditLineCreated"; 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: "creditLine"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "drawdownAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "startTime"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "termInDays"; readonly type: "uint256"; }]; readonly name: "DrawdownMade"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "contractAddress"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "tokenAddresss"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "usdcAmount"; readonly type: "uint256"; }]; readonly name: "EmergencyShutdownTransfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "underwriter"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newLimit"; readonly type: "uint256"; }]; readonly name: "GovernanceUpdatedUnderwriterLimit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "creditLine"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "interestAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "principalAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "remainingAmount"; readonly type: "uint256"; }]; readonly name: "PaymentApplied"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "creditLine"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "paymentAmount"; readonly type: "uint256"; }]; readonly name: "PaymentCollected"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "implementation"; readonly type: "address"; }]; readonly name: "Upgraded"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BLOCKS_PER_DAY"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "EMERGENCY_SHUTDOWN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditLineAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "applyPayment"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditLineAddress"; readonly type: "address"; }]; readonly name: "assessCreditLine"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "config"; readonly outputs: readonly [{ readonly internalType: "contract PlutusConfig"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_borrower"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_limit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_interestApr"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_paymentPeriodInDays"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_termInDays"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_lateFeeApr"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_assetToken"; readonly type: "address"; }]; readonly name: "createCreditLine"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditLineAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "drawdown"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "underwriterAddress"; readonly type: "address"; }]; readonly name: "emergencyShutdown"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrowerAddress"; readonly type: "address"; }]; readonly name: "getBorrowerCreditLines"; 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: "underwriterAddress"; readonly type: "address"; }]; readonly name: "getCurrentAPR"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "averageApr"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditLineAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "asOfBLock"; readonly type: "uint256"; }]; readonly name: "getNextPaymentAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "wallet"; readonly type: "address"; }]; readonly name: "getSupplyBalanceAndInterest"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "amountLended"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maturedAmount"; readonly type: "uint256"; }]; readonly internalType: "struct ICreditDesk.LendStatus"; readonly name: "status"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "underwriterAddress"; readonly type: "address"; }]; readonly name: "getTotalPoolUsage"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "totalUsage"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "underwriterAddress"; readonly type: "address"; }]; readonly name: "getUnderwriterCreditLines"; 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: "underwriterAddress"; readonly type: "address"; }]; readonly name: "getUnderwriterGovernanceLimit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "grantRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "hasRole"; 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: "owner"; readonly type: "address"; }, { readonly internalType: "contract PlutusConfig"; readonly name: "_config"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "paused"; 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: "creditLineAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "pay"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "proxiableUUID"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "creditlineAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "refundedAmount"; readonly type: "uint256"; }]; readonly name: "refundPoolCollateralEarnedAmount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "renounceRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "revokeRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "underwriterAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "limit"; readonly type: "uint256"; }]; readonly name: "setUnderwriterGovernanceLimit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalLoansOutstanding"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalWritedowns"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "underwriters"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "governanceLimit"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "updatePlutusConfig"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }]; readonly name: "upgradeTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newImplementation"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "upgradeToAndCall"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }]; static createInterface(): CreditDeskInterface; static connect(address: string, signerOrProvider: Signer | Provider): CreditDesk; } export interface CreditDeskLibraryAddresses { ["contracts/protocol/core/Accountant.sol:Accountant"]: string; } export {};