UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

959 lines 61.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DAORegistry__factory = void 0; /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ const ethers_1 = require("ethers"); const _abi = [ { inputs: [ { internalType: "string", name: "name", type: "string", }, { internalType: "enum ParameterType", name: "expected", type: "uint8", }, { internalType: "enum ParameterType", name: "actual", type: "uint8", }, ], name: "InvalidParameterType", type: "error", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "previousAdmin", type: "address", }, { indexed: false, internalType: "address", name: "newAdmin", type: "address", }, ], name: "AdminChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "beacon", type: "address", }, ], name: "BeaconUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "address", name: "contractAddress", type: "address", }, ], name: "ContractAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "name", type: "string", }, ], name: "ContractRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "daoAddress", type: "address", }, { indexed: false, internalType: "string", name: "daoURI", type: "string", }, ], name: "DAOURIUpdate", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint8", name: "version", type: "uint8", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "master", type: "address", }, { indexed: false, internalType: "string", name: "daoURI", type: "string", }, ], name: "Initialized", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "panelName", type: "string", }, ], name: "PanelAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "panelName", type: "string", }, ], name: "PanelRemoved", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "address", name: "contractAddress", type: "address", }, { indexed: false, internalType: "address", name: "implementation", type: "address", }, ], name: "ProxyContractAdded", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "string", name: "name", type: "string", }, { indexed: false, internalType: "address", name: "newImplementation", type: "address", }, ], name: "ProxyContractUpgraded", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "implementation", type: "address", }, ], name: "Upgraded", type: "event", }, { inputs: [], name: "DAO_REGISTRY_RESOURCE", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "permissionManager_", type: "address", }, { internalType: "address", name: "master_", type: "address", }, { internalType: "string", name: "registryResource_", type: "string", }, { internalType: "string", name: "daoURI_", type: "string", }, { internalType: "string", name: "version_", type: "string", }, ], name: "__DAORegistry_init", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "contractAddress_", type: "address", }, ], name: "addContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "bytes32", name: "salt_", type: "bytes32", }, { internalType: "address", name: "contractAddress_", type: "address", }, { internalType: "bytes", name: "data_", type: "bytes", }, ], name: "addDeterministicProxy", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "addPanel", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "contractAddress_", type: "address", }, ], name: "addProxyContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "contractAddress_", type: "address", }, { internalType: "bytes", name: "data_", type: "bytes", }, ], name: "addProxyContractAndCall", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "account_", type: "address", }, { internalType: "string", name: "permission_", type: "string", }, ], name: "checkPermission", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "daoURI", outputs: [ { internalType: "string", name: "_daoURI", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "account_", type: "address", }, ], name: "getAccountStatuses", outputs: [ { components: [ { internalType: "string[]", name: "groups", type: "string[]", }, { internalType: "bool[]", name: "isMember", type: "bool[]", }, ], internalType: "struct IDAORegistry.AccountStatus", name: "status", type: "tuple", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "getConfDAOParameterStorage", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, ], name: "getContract", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "getDAOMemberStorage", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getDAOVault", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "getExpertsDAOVoting", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "getGeneralDAOVoting", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, ], name: "getImplementation", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getPanels", outputs: [ { internalType: "string[]", name: "", type: "string[]", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getPermissionManager", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getProxyUpgrader", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "getRegDAOParameterStorage", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getRegistryContractAddresses", outputs: [ { components: [ { internalType: "string", name: "name", type: "string", }, { internalType: "address", name: "address_", type: "address", }, ], internalType: "struct IDAORegistry.RegistryEntry[]", name: "entries_", type: "tuple[]", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getResource", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, ], name: "hasContract", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "implementation", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, ], name: "injectDependencies", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "isAbleToAddPanel", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "contractAddress_", type: "address", }, ], name: "justAddProxyContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes[]", name: "data", type: "bytes[]", }, ], name: "multicall", outputs: [ { internalType: "bytes[]", name: "results", type: "bytes[]", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "permissionManager", outputs: [ { internalType: "contract PermissionManager", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "salt_", type: "bytes32", }, { internalType: "address", name: "contractAddress_", type: "address", }, { internalType: "bytes", name: "data_", type: "bytes", }, ], name: "predictProxyAddress", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "proxiableUUID", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, ], name: "removeContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "panelName_", type: "string", }, ], name: "removePanel", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "daoURI_", type: "string", }, ], name: "setDAOMetadata", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes4", name: "interfaceId", type: "bytes4", }, ], name: "supportsInterface", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "newImplementation_", type: "address", }, ], name: "upgradeContract", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "string", name: "name_", type: "string", }, { internalType: "address", name: "newImplementation_", type: "address", }, { internalType: "bytes", name: "data_", type: "bytes", }, ], name: "upgradeContractAndCall", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, ], name: "upgradeTo", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "newImplementation", type: "address", }, { internalType: "bytes", name: "data", type: "bytes", }, ], name: "upgradeToAndCall", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [], name: "version", outputs: [ { internalType: "string", name: "", type: "string", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x60a080604052346100315730608052614a3190816100378239608051818181611bb701528181611ccb0152611fe90152f35b600080fdfe608060405260043610156200001357600080fd5b6000803560e01c806301d1290914620027ce57806301ffc9a714620027585780631271bd53146200271c5780631adad8cf14620026335780631af6c06414620025f15780631d46d131146200240757806334c9e96214620022375780633581777314620021fb5780633659cfe61462001fc05780633e4beca114620004f9578063423c072b1462001f8d5780634c12ce571462001f3d5780634f1ef2861462001c8757806351dad82c1462001c6a57806352d1902d1462001ba257806354fd4d501462001ae85780635c60da1b1462001aaf57806365ab60901462001a6d5780636ad487c614620019755780636b683896146200186a5780636bbe8694146200183f5780637034731b146200174c5780637444a137146200172d5780638133b93a14620012ef5780638c223601146200127d57806397623b581462001172578063977d1e1814620010c65780639a06df5014620010a3578063ab22f0eb14620008ee578063ac9650d81462000719578063afb2f2e8146200061f578063b254481e1462000540578063bb65dc8314620004f9578063bdda65e9146200047c578063bf5b601614620003cf578063cc7a204914620003a4578063d10611fc1462000379578063d8ad4e1c1462000320578063db590a61146200029a578063e0e084f814620002465763e4523aef146200020a57600080fd5b3462000243578060031936011262000243576200023f6200022a620036e1565b60405191829160208352602083019062002bbf565b0390f35b80fd5b503462000243576200029662000290620002603662002945565b620002776200027193929362002c44565b6200364c565b60405190620002868262002870565b8582528362003fd4565b6200396f565b5080f35b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e62000308620002da3660048701620028ca565b604051620002e88162002854565b600e81526d47454e4552414c5f564f54494e4760901b85820152620035f6565b62002d34565b6040516001600160a01b039091168152f35b50346200024357604036600319011262000243576200033e62002917565b90602435906001600160401b038211620002435760206200036f84620003683660048701620028ca565b906200358e565b6040519015158152f35b503462000243578060031936011262000243576002546040516001600160a01b039091168152602090f35b503462000243578060031936011262000243576006546040516001600160a01b039091168152602090f35b5034620002435762000296620004737f8b4ef7d4e5bc8f098e6f637ac0acf4aee47b3f027efea6307264b06b4bc9d2986200040a3662002945565b6200041b6200027194929462002c44565b6001600160a01b0381166200043281151562003f41565b6040516020818751620004498183858c016200298b565b81016003815203019020906001600160601b0360a01b8254161790556040519182918583620039f1565b0390a16200396f565b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e62000308620004bc3660048701620028ca565b604051620004ca8162002854565b601981527f44414f5f5245475f504152414d455445525f53544f524147450000000000000085820152620035f6565b503462000243578060031936011262000243576200023f6040516200052b81620005238162002a14565b03826200288c565b604051918291602083526020830190620029b0565b50346200024357608036600319011262000243576001600160401b036004358181116200061b5762000577903690600401620028ca565b6001600160a01b0391604435838116810362000616576064358281116200061257620005a8903690600401620028ca565b604051916103ed8084019484861090861117620005fe5791620005d79184936200419b85396024359562002fc0565b039085f5918215620005f357620005f092169062002e62565b80f35b6040513d85823e3d90fd5b634e487b7160e01b88526041600452602488fd5b8580fd5b600080fd5b8280fd5b50346200024357602036600319011262000243576004356001600160401b038111620007155762000655903690600401620028ca565b62000663620002716200356a565b6200066e8162003cb8565b15620006b557620006af7f9e446cf6b11f8fe66bb176efaebf9567c993e6b580a0dbcb7112893ff0fee3a591604051918291602083526020830190620029b0565b0390a180f35b60405162461bcd60e51b815260206004820152603260248201527f5b5147444b2d3030363030335d2d5468652070616e656c20646f6573206e6f746044820152711032bc34b9ba1034b7103a3432902220a79760711b6064820152608490fd5b5080fd5b5034620002435760208060031936011262000715576004356001600160401b03808211620008e25736602383011215620008e257816004013590808211620008ea5760059060243684841b8601820111620008e6576040969392959651620007818162002870565b84815287810191620007938562002c68565b97620007a3604051998a6200288c565b858952620007b18662002c68565b97620007c58b8b0199601f19018a620032c2565b368190036042190191885b8881106200083a578c8c8c8c604051928484019085855251809152604084019460408260051b8601019392955b8287106200080b5785850386f35b90919293828062000829600193603f198a82030186528851620029b0565b9601920196019592919092620007fd565b988985829e9d9b841b85010135858112156200061b57840186810135908a8211620008e257604401908036038213620008e257620008ab8f620008bd936001968c6200089e8f8760405198899688880137850192868401948552519384916200298b565b010380845201826200288c565b620008b562003e55565b9030620040ad565b620008c9828d62002c8e565b52620008d6818c62002c8e565b50019b989a9b620007d0565b8380fd5b8680fd5b8480fd5b5034620002435760a036600319011262000243576200090c62002917565b620009166200292e565b6044356001600160401b038111620008e25762000938903690600401620028ca565b906064356001600160401b038111620008ea576200095b903690600401620028ca565b916084356001600160401b03811162000612576200097e903690600401620028ca565b9085549460ff8660081c16159586809762001095575b80156200107c575b15620010205760ff1981166001178855866200100e575b50620009c660ff885460081c1662003df4565b620009d18562003430565b7f70a842976e7a4dbe172ab201a1d23ff7f220e6edea7c32dc4e15b9210fef09dd6040518062000a0388308362002fc0565b0390a162000a2360ff885460081c1662000a1d8162003df4565b62003df4565b60405161045d808201908282106001600160401b0383111762000ffa57908291620045888339039088f090811562000fef5762000a9a906001600160601b0360a01b9260018060a01b031683600254161760025562000a81620033e3565b906040519162000a918362002870565b8a835262003fd4565b6001600160a01b0362000ab062000308620033e3565b1680600654928316176006558762000ac7620033e3565b92161760405190606082018281106001600160401b0382111762000dfe57604052602a825260208201604036823782511562000fdb576030905381516001101562000fc7576078602183015360295b6001811162000f3e575062000efa5762000b3091620035f6565b81516001600160401b03811162000dfe57879262000b50600554620029d7565b601f811162000eb8575b50602090601f831160011462000e375762000b8f92916000918362000ce5575b50508160011b916000199060031b1c19161790565b6005555b6006546001600160a01b0316803b156200061b57604051633a1daa5560e21b81523060048201526001600160a01b038616602482015260606044820152918391839182908490829062000beb906064830190620029b0565b03925af1801562000e2c5762000e14575b505062000c0c62000290620033e3565b508051906001600160401b03821162000dfe5762000c2c600b54620029d7565b601f811162000d9f575b50602090601f831160011462000cf157918062000c8e927fc66e6cd41f805f65978f5241034e8d106c42cf3c7a4d62ccd857646b401cbe4a96959460009262000ce55750508160011b916000199060031b1c19161790565b600b555b62000ca36040519283928362002fc0565b0390a162000cae5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b01519050388062000b7a565b90601f19831691600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db99260005b81811062000d8657509160019391857fc66e6cd41f805f65978f5241034e8d106c42cf3c7a4d62ccd857646b401cbe4a989796941062000d6c575b505050811b01600b5562000c92565b015160001960f88460031b161c1916905538808062000d5d565b9293602060018192878601518155019501930162000d22565b62000dec90600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9601f850160051c8101916020861062000df3575b601f0160051c019062003417565b3862000c36565b909150819062000dde565b634e487b7160e01b600052604160045260246000fd5b62000e1f9062002840565b620008ea57843862000bfc565b6040513d84823e3d90fd5b939291906005600052600080516020620049e58339815191529060005b601f198416811062000e9c5750600193949583601f1981161062000e82575b505050811b0160055562000b93565b015160001960f88460031b161c1916905538808062000e73565b8682015183558b95506001909201916020918201910162000e54565b62000ef3906005600052600080516020620049e5833981519152601f850160051c8101916020861062000df357601f0160051c019062003417565b3862000b5a565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f8116601081101562000fb357835183101562000f9d576f181899199a1a9b1b9c1cb0b131b232b360811b901a8383016020015360041c90801562000f89576000190162000b16565b634e487b7160e01b8a52601160045260248afd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b8b52603260045260248bfd5b634e487b7160e01b89526032600452602489fd5b634e487b7160e01b8a52603260045260248afd5b6040513d89823e3d90fd5b634e487b7160e01b8a52604160045260248afd5b61ffff191661010117875538620009b3565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156200099c5750600160ff8216146200099c565b50600160ff82161062000994565b5034620002435780600319360112620002435760206200030e62000308620033e3565b50346200024357602036600319011262000243576004356001600160401b0381116200071557620006af620011217f70a842976e7a4dbe172ab201a1d23ff7f220e6edea7c32dc4e15b9210fef09dd923690600401620028ca565b62001159604051620011338162002854565b60138152724348414e47455f44414f5f4d4554414441544160681b60208201526200364c565b620011648162003430565b604051918291308362002fc0565b503462000243576020806003193601126200071557600435906001600160401b0382116200061b577f0c4eafbc12ea2584eb34031bf52952af5909a5880ef4058cb05c627ae39ffda062001274620011d362000296943690600401620028ca565b92620011e2620002716200356a565b620012488160405186519082880191620011fe8183856200298b565b600390820190815281900383019020546001600160a01b03166200122481151562002cd1565b8952600482526040892060ff1981541690556040518093819289519283916200298b565b810160038152030190206001600160601b0360a01b8154169055604051918183928352820185620029b0565b0390a162003b2b565b5034620002435760203660031901126200024357600435906001600160401b03821162000243576020620012b53660048501620028ca565b81620012cb60405192838151938492016200298b565b600390820190815281900382019020546040516001600160a01b0390911615158152f35b50346200024357602036600319011262000243576200130d62002917565b90604051916200131d8362002854565b606083526060602084015262001332620036e1565b8051600181019283821162001719576200134c8462002c68565b926200135c60405194856200288c565b8484526200137c6200136e8662002c68565b601f190160208601620032c2565b620013878562002c68565b946200139760405196876200288c565b808652620013a8601f199162002c68565b01366020870137620013b962002ca3565b620013c48562002c80565b52620013d08462002c80565b5060018060a01b036006541690620014216020604051620013f18162002854565b60088152672b27aa22afa327a960c11b8282015260405180938192633ca8e36d60e11b83528860048401620032fb565b0381865afa9081156200170e578891620016ea575b50620014428762002c80565b9015159052865b848110620014c957505050505083526020830152604051918291602083526020620014808351604083870152606086019062002bbf565b92015191601f19848203016040850152602080845192838152019301915b818110620014ad575050500390f35b825115158452859450602093840193909201916001016200149e565b620014d5818362002c8e565b51604051908160208101106001600160401b0360208401111762000dfe57602982620015419260208201604052682220a7a3b937bab81d60b91b60408301526200152a8151809260206049860191016200298b565b81010360098101602085015201602083016200288c565b60208101815260405190620015568262002854565b6001825260005b60208110620016d85750906200158c9151620015798262002c80565b52620015858162002c80565b5062002c80565b51600182018211620016c457620015a7600183018862002c8e565b52620015b7600182018762002c8e565b50620015da620015c662002e36565b620015d2838562002c8e565b5190620035f6565b60206200163b60405192620015ef8462002854565b600684526511561411549560d21b83850152604051633ca8e36d60e11b81526001600160a01b03891660048201526060602482015293849283926200164e9291906064850190620029b0565b83810360031901604485015290620029b0565b0381875afa908115620016b95790600192918a9162001683575b50620016778383018a62002c8e565b90151590520162001449565b620016aa915060203d602011620016b1575b620016a181836200288c565b810190620032e1565b3862001668565b503d62001695565b6040513d8b823e3d90fd5b634e487b7160e01b89526011600452602489fd5b8060606020809386010152016200155d565b62001707915060203d602011620016b157620016a181836200288c565b3862001436565b6040513d8a823e3d90fd5b634e487b7160e01b85526011600452602485fd5b5034620002435780600319360112620002435760206200036f620030a0565b503462000243578060031936011262000243576040516000600182600154926200177684620029d7565b92838352602094856001821691826000146200181d575050600114620017bc575b50620017a6925003836200288c565b6200023f604051928284938452830190620029b0565b84915060016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6906000915b85831062001804575050620017a693508201018562001797565b80548389018501528794508693909201918101620017ea565b60ff191685820152620017a695151560051b8501019250879150620017979050565b50346200024357620005f0620018553662002b5d565b91620018646200027162002c20565b62003a1b565b503462000243576020908160031936011262000243576004356001600160401b0381116200071557620018a2903690600401620028ca565b82620018b860405192838151938492016200298b565b600390820190815281900383019020546001600160a01b03908116620018e081151562002cd1565b80835260048452620018f960ff60408520541662002fe4565b83826002541691602460405180948193630ad6396560e11b835260048301525afa92831562001969579262001933575b5060405191168152f35b62001959919250833d851162001961575b6200195081836200288c565b81019062003041565b903862001929565b503d62001944565b604051903d90823e3d90fd5b5034620002435760603660031901126200024357620019936200292e565b90604435906001600160401b038211620002435750600b620019bc6055923690600401620028ca565b926200089e62001a3f6103ed92602096879162001a0662001a1560405193620019e8868a01866200288c565b888552858501986200419b8a39604051928391878301958662002fc0565b03601f1981018352826200288c565b60405195869362001a2f868601998a92519283916200298b565b840191518093868401906200298b565b519020604051906040820152600435848201523081520160ff8153206040516001600160a01b039091168152f35b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e62001aa93660048601620028ca565b62002f79565b5034620002435780600319360112620002435760008051602062004a05833981519152546040516001600160a01b039091168152602090f35b50346200024357806003193601126200024357604051600b5460008262001b0f83620029d7565b91828252602093600190856001821691826000146200181d57505060011462001b415750620017a6925003836200288c565b849150600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9906000915b85831062001b89575050620017a693508201018562001797565b8054838901850152879450869390920191810162001b6f565b503462000243578060031936011262000243577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300362001bff57602060405160008051602062004a058339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b50346200024357620005f062001c803662002945565b9062002e62565b506040366003190112620002435762001c9f62002917565b6024356001600160401b0381116200061b5762001cc1903690600401620028ca565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692919062001cfd3085141562002d72565b62001d1d60008051602062004a0583398151915294828654161462002dd4565b8060025416330362001ee7577f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161562001d62575050620005f0915062003eaf565b82919216604051936352d1902d60e01b85526020948581600481865afa6000918162001eb2575b5062001deb5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94919293940362001e5c575062001e028262003eaf565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a281511580159062001e53575b62001e3d57505080f35b620002969162001e4c62003e55565b91620040ad565b50600162001e33565b6084906040519062461bcd60e51b82526004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152fd5b9091508681813d831162001edf575b62001ecd81836200288c565b81010312620006165751903862001d89565b503d62001ec1565b60405162461bcd60e51b815260206004820152602860248201527f5b5147444b2d3030363030355d2d4e6f7420617574686f72697a656420746f206044820152673ab833b930b2329760c11b6064820152608490fd5b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e6200030862001f7d3660048701620028ca565b62001f8762002e36565b620035f6565b50346200024357620002966200029062001fa73662002b5d565b9062001fb96200027194939462002c44565b8362003fd4565b50346200024357602080600319360112620007155762001fdf62002917565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116620020183082141562002d72565b6200203860008051602062004a0583398151915291838354161462002dd4565b81600254163303620021a55760405191620020538362002870565b8583527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156200209057505050620005f0915062003eaf565b83929316906040516352d1902d60e01b81528581600481865afa6000918162002170575b50620021165760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b94919293940362001e5c57506200212d8262003eaf565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2815115801590620021675762001e3d57505080f35b50600062001e33565b9091508681813d83116200219d575b6200218b81836200288c565b810103126200061657519038620020b4565b503d6200217f565b60405162461bcd60e51b815260048101859052602860248201527f5b5147444b2d3030363030355d2d4e6f7420617574686f72697a656420746f206044820152673ab833b930b2329760c11b6064820152608490fd5b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e620003083660048601620028ca565b503462000243576020908160031936011262000243576004356001600160401b03811162000715576200226f903690600401620028ca565b6200227d6200027162002c44565b6200228762002ca3565b8151848301209084815191012014620023b057620022a581620038df565b156200235057620022b5620030a0565b15620022f3577e3b4a8fbf1e09fe14725a89179d30ef1821abca15dacbecd26cae2ffba25a099192620006af604051928284938452830190620029b0565b60405162461bcd60e51b815260048101849052602f60248201527f5b5147444b2d3030363030345d2d5468652070616e656c206c696d697420686160448201526e39903132b2b7103932b0b1b432b21760891b6064820152608490fd5b60405162461bcd60e51b815260048101849052603260248201527f5b5147444b2d3030363030325d2d5468652070616e656c20616c72656164792060448201527132bc34b9ba399034b7103a3432902220a79760711b6064820152608490fd5b60405162461bcd60e51b815260048101849052602960248201527f5b5147444b2d3030363030315d2d5468652070616e656c206e616d65206973206044820152683932b9b2b93b32b21760b91b6064820152608490fd5b5034620002435780600319360112620002435760095490620024298262002c68565b916200243960405193846200288c565b80835260209081840160096000527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af836000925b848410620025c757878783825190620024a36200248a8362002c68565b926200249a60405194856200288c565b80845262002c68565b601f190181845b828110620025a157505050825b8451811015620025255780620024d06001928762002c8e565b51620024e8620024e1838962002c8e565b5162002d34565b60405191620024f78362002854565b8252838060a01b03168482015262002510828662002c8e565b526200251d818562002c8e565b5001620024b7565b506040805182815283518184018190529093600582901b85018301939081019285015b828710620025565785850386f35b909192938280600192603f1989820301855287519082620025818351604084526040840190620029b0565b9281878060a01b0391015116910152960192019601959291909262002548565b604051620025af8162002854565b606081528683820152828287010152018290620024aa565b6001918291604051620025e08162000523818962002abf565b81520192019201919084906200246d565b5034620002435780600319360112620002435760206200030e604051620026188162002854565b6009815268111053d7d59055531560ba1b8382015262002d34565b5034620002435760203660031901126200024357806004356001600160401b03811162002719576200266a903690600401620028ca565b620026786200027162002c44565b60405190620026878262002870565b8282526020620026a160405192838151938492016200298b565b60039082019081528190036020019020546001600160a01b031690620026c982151562002cd1565b813b1562002715578291620026f691604051948580948193636913045160e01b8352306004840162002fc0565b03925af1801562000e2c576200270a575080f35b620005f09062002840565b5050fd5b50fd5b50346200024357620005f0620027323662002945565b620027406200027162002c20565b604051916200274f8362002870565b84835262003a1b565b503462000243576020366003190112620002435760043563ffffffff60e01b811680910362000715576020906325acc53560e01b8114908115620027bc575b8115620027aa575b506040519015158152f35b6301ffc9a760e01b149050826200279f565b6363c8929f60e01b8114915062002797565b5034620002435760203660031901126200024357600435906001600160401b038211620002435760206200030e620003086200280e3660048701620028ca565b6040516200281c8162002854565b601281527144414f5f4d454d4245525f53544f5241474560701b85820152620035f6565b6001600160401b03811162000dfe57604052565b604081019081106001600160401b0382111762000dfe57604052565b602081019081106001600160401b0382111762000dfe57604052565b90601f801991011681019081106001600160401b0382111762000dfe57604052565b6001600160401b03811162000dfe57601f01601f191660200190565b81601f820112156200061657803590620028e482620028ae565b92620028f460405194856200288c565b828452602083830101116200061657816000926020809301838601378301015290565b600435906001600160a01b03821682036200061657565b602435906001600160a01b03821682036200061657565b60406003198201126200061657600435906001600160401b03821162000616576200297391600401620028ca565b906024356001600160a01b0381168103620006165790565b60005b8381106200299f5750506000910152565b81810151838201526020016200298e565b90602091620029cb815180928185528580860191016200298b565b601f01601f1916010190565b90600182811c9216801562002a09575b6020831014620029f357565b634e487b7160e01b600052602260045260246000fd5b91607f1691620029e7565b6005546000929162002a2682620029d7565b8082529160209060019081811690811562002a99575060011462002a4b575b50505050565b929394506005600052600080516020620049e5833981519152926000935b85851062002a8557505050602092500101903880808062002a45565b805485850184015293820193810162002a69565b92505050602093945060ff929192191683830152151560051b0101903880808062002a45565b80546000939262002ad082620029d7565b9182825260209360019160018116908160001462002b3d575060011462002af9575b5050505050565b90939495506000929192528360002092846000945b83861062002b285750505050010190388080808062002af2565b80548587018301529401938590820162002b0e565b60ff19168685015250505090151560051b01019150388080808062002af2565b606060031982011262000616576001600160401b039160043583811162000616578262002b8d91600401620028ca565b926024356001600160a01b0381168103620006165792604435918211620006165762002bbc91600401620028ca565b90565b90808251908181526020809101926020808460051b8301019501936000915b84831062002bef5750505050505090565b909192939495848062002c0f600193601f198682030187528a51620029b0565b980193019301919493929062002bde565b6040519062002c2f8262002854565b600682526555504441544560d01b6020830152565b6040519062002c538262002854565b600682526543524541544560d01b6020830152565b6001600160401b03811162000dfe5760051b60200190565b80511562000f9d5760200190565b805182101562000f9d5760209160051b010190565b6040519062002cb28262002854565b601082526f2220a7902a37b5b2b7102437b63232b960811b6020830152565b1562002cd957565b60405162461bcd60e51b815260206004820152602d60248201527f436f6e74726163747352656769737472793a2074686973206d617070696e672060448201526c191bd95cdb89dd08195e1a5cdd609a1b6064820152608490fd5b602062002d4b60405192838151938492016200298b565b60039082019081528190036020019020546001600160a01b031662002bbc81151562002cd1565b1562002d7a57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1562002ddc57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b6040519062002e458262002854565b600e82526d455850455254535f564f54494e4760901b6020830152565b62002e706200027162002c44565b6001600160a01b038281169262002e8984151562003f41565b60405191835190836020818462002ea78398968497858c016200298b565b81016003815203019020866001600160601b0360a01b82541617905585600052600482526040600020600160ff198254161790556002541694602460405180978193630ad6396560e11b835260048301525afa90811562002f6d5762002f46947f10e75df11debcdd8425769babc76babb1b082c13be22ba626bfc8e6de393c4c59360009362002f49575b505062000473604051928392868462003fa3565b50565b62002f64929350803d1062001961576200195081836200288c565b90388062002f32565b6040513d6000823e3d90fd5b6200030862002bbc9160405162002f908162002854565b601a81527f44414f5f434f4e465f504152414d455445525f53544f524147450000000000006020820152620035f6565b6001600160a01b03909116815260406020820181905262002bbc92910190620029b0565b1562002fec57565b60405162461bcd60e51b815260206004820152602760248201527f436f6e74726163747352656769737472793a206e6f7420612070726f787920636044820152661bdb9d1c9858dd60ca1b6064820152608490fd5b908160209103126200061657516001600160a01b0381168103620006165790565b909291926200307181620028ae565b916200308160405193846200288c565b829482845282820111620006165760206200309e9301906200298b565b565b6200311e6001600160a01b03620030ba62001aa962002ca3565b16604090815191620030cc8362002854565b601b83526020927f636f6e737469747574696f6e2e6d617850616e656c50657244414f00000000008482015281518093632591ac6b60e21b8252856004830152818060009889956024830190620029b0565b03915afa918215620032b8578492620031eb575b508082019081516006811015620031d7576002036200317c57505081015180519082015192508181106200316a575b50506007541090565b600019910360031b1b16388062003161565b8492519151906006821015620031c3575163381af4c560e11b81526060600482015292508291620031b2906064840190620029b0565b906002602484015260448301520390fd5b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b86526021600452602486fd5b9091503d8085833e620031ff81836200288c565b81018382820312620008ea5781516001600160401b0392838211620008e657019060608282031262000612578351926060840184811082821117620005fe5785528251818111620032b457830182601f82011215620032b457828188620032699351910162003062565b845285830151908111620008e657820181601f82011215620008e6578492918187620032989351910162003062565b8584015201516006811015620008ea5782820152903862003132565b8780fd5b81513d86823e3d90fd5b60005b828110620032d257505050565b606082820152602001620032c5565b908160209103126200061657518015158103620006165790565b6001600160a01b0390911681526060602080830191909152600554939260009290916200332886620029d7565b958660608401526080600191600181169081600014620033b7575060011462003364575b50505062002bbc9394506040818403910152620029b0565b6005600090815297939550600080516020620049e58339815191525b848910620033a3575050505050608062002bbc939483010191849338806200334c565b8054878a0183015297830197820162003380565b92505050608092945062002bbc9596915060ff191682850152151560051b83010191849338806200334c565b60405190620033f28262002854565b60168252752220a7afa822a926a4a9a9a4a7a72fa6a0a720a3a2a960511b6020830152565b81811062003423575050565b6000815560010162003417565b9081516001600160401b03811162000dfe57600190620034518254620029d7565b601f811162003518575b50602080601f831160011462003496575081906200349293949560009262000ce55750508160011b916000199060031b1c19161790565b9055565b90601f19831695846000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6926000905b888210620035005750508385969710620034e6575b505050811b019055565b015160001960f88460031b161c19169055388080620034dc565b808785968294968601518155