@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
1,045 lines • 74.4 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MasterDAOFactory__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "daoMemberStorageProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedDAOMemberStorage",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "daoPanelVotingProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedDAOPanelVoting",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "daoParameterStorageProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedDAOParameterStorage",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "daoRegistryProxy_",
type: "address",
},
{
components: [
{
internalType: "address",
name: "daoCreator",
type: "address",
},
{
internalType: "address",
name: "votingToken",
type: "address",
},
{
internalType: "string",
name: "daoURI",
type: "string",
},
{
internalType: "bytes32",
name: "deploymentSalt",
type: "bytes32",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "bytes",
name: "value",
type: "bytes",
},
{
internalType: "enum ParameterType",
name: "solidityType",
type: "uint8",
},
],
internalType: "struct Parameter[]",
name: "initialParameters",
type: "tuple[]",
},
{
components: [
{
internalType: "string",
name: "componentName",
type: "string",
},
{
internalType: "address",
name: "componentImplementation",
type: "address",
},
],
internalType: "struct DAOReplacements[]",
name: "daoReplacements",
type: "tuple[]",
},
],
indexed: false,
internalType: "struct DAOConstructorParameters",
name: "params_",
type: "tuple",
},
],
name: "DeployedDAORegistry",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "daoVaultProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedDAOVault",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "votingAddress",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "votingToken",
type: "address",
},
{
indexed: false,
internalType: "string",
name: "panelName",
type: "string",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedDAOVoting",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "permissionManagerProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedPermissionManager",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "votingFactoryProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedVotingFactory",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "votingRegistryProxy_",
type: "address",
},
{
indexed: false,
internalType: "contract DAORegistry",
name: "daoRegistry",
type: "address",
},
],
name: "DeployedVotingRegistry",
type: "event",
},
{
inputs: [],
name: "BASE_RELAY_RECIPIENT_STORAGE",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
{
components: [
{
internalType: "string",
name: "moduleName",
type: "string",
},
{
internalType: "address",
name: "moduleAddress",
type: "address",
},
{
internalType: "string",
name: "connectorRoleName",
type: "string",
},
{
internalType: "enum ModuleAdditionType",
name: "moduleType",
type: "uint8",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "bytes",
name: "value",
type: "bytes",
},
{
internalType: "enum ParameterType",
name: "solidityType",
type: "uint8",
},
],
internalType: "struct Parameter[]",
name: "constitutionParameters",
type: "tuple[]",
},
{
internalType: "string",
name: "votingName",
type: "string",
},
{
components: [
{
components: [
{
internalType: "string",
name: "votingSituationName",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "votingPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "vetoPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "proposalExecutionPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredMajority",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredVetoQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "votingType",
type: "uint256",
},
{
internalType: "string",
name: "votingTarget",
type: "string",
},
{
internalType: "uint256",
name: "votingMinAmount",
type: "uint256",
},
],
internalType: "struct IDAOVoting.DAOVotingValues",
name: "votingValues",
type: "tuple",
},
],
internalType: "struct IDAOVoting.InitialSituation",
name: "initialSituation",
type: "tuple",
},
{
internalType: "string",
name: "externalLink",
type: "string",
},
],
internalType: "struct IDAOVoting.ExtendedSituation",
name: "situation",
type: "tuple",
},
{
internalType: "address",
name: "vetoGroupSource",
type: "address",
},
{
internalType: "bytes",
name: "initCallData",
type: "bytes",
},
{
internalType: "bytes32",
name: "salt",
type: "bytes32",
},
],
internalType: "struct DAOModuleContractorParameters",
name: "params_",
type: "tuple",
},
],
name: "addModule",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "contract DAOMemberStorage",
name: "linkedMemberStorage",
type: "address",
},
],
internalType: "struct IPermissionManager.VetoGroup[]",
name: "vetoGroups_",
type: "tuple[]",
},
],
name: "configureVetoGroups",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
{
components: [
{
components: [
{
internalType: "string",
name: "votingSituationName",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "votingPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "vetoPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "proposalExecutionPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredMajority",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredVetoQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "votingType",
type: "uint256",
},
{
internalType: "string",
name: "votingTarget",
type: "string",
},
{
internalType: "uint256",
name: "votingMinAmount",
type: "uint256",
},
],
internalType: "struct IDAOVoting.DAOVotingValues",
name: "votingValues",
type: "tuple",
},
],
internalType: "struct IDAOVoting.InitialSituation",
name: "initialSituation",
type: "tuple",
},
{
internalType: "string",
name: "externalLink",
type: "string",
},
],
internalType: "struct IDAOVoting.ExtendedSituation[]",
name: "situations_",
type: "tuple[]",
},
],
name: "configureVotingSituations",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "contractsRegistry",
outputs: [
{
internalType: "contract MasterContractsRegistry",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
components: [
{
internalType: "address",
name: "daoCreator",
type: "address",
},
{
internalType: "address",
name: "votingToken",
type: "address",
},
{
internalType: "string",
name: "daoURI",
type: "string",
},
{
internalType: "bytes32",
name: "deploymentSalt",
type: "bytes32",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "bytes",
name: "value",
type: "bytes",
},
{
internalType: "enum ParameterType",
name: "solidityType",
type: "uint8",
},
],
internalType: "struct Parameter[]",
name: "initialParameters",
type: "tuple[]",
},
{
components: [
{
internalType: "string",
name: "componentName",
type: "string",
},
{
internalType: "address",
name: "componentImplementation",
type: "address",
},
],
internalType: "struct DAOReplacements[]",
name: "daoReplacements",
type: "tuple[]",
},
],
internalType: "struct DAOConstructorParameters",
name: "params_",
type: "tuple",
},
],
name: "deployDAO",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
{
components: [
{
internalType: "string",
name: "panelName",
type: "string",
},
{
internalType: "address",
name: "votingToken",
type: "address",
},
{
components: [
{
components: [
{
internalType: "string",
name: "votingSituationName",
type: "string",
},
{
components: [
{
internalType: "uint256",
name: "votingPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "vetoPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "proposalExecutionPeriod",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredMajority",
type: "uint256",
},
{
internalType: "uint256",
name: "requiredVetoQuorum",
type: "uint256",
},
{
internalType: "uint256",
name: "votingType",
type: "uint256",
},
{
internalType: "string",
name: "votingTarget",
type: "string",
},
{
internalType: "uint256",
name: "votingMinAmount",
type: "uint256",
},
],
internalType: "struct IDAOVoting.DAOVotingValues",
name: "votingValues",
type: "tuple",
},
],
internalType: "struct IDAOVoting.InitialSituation",
name: "initialSituation",
type: "tuple",
},
{
internalType: "string",
name: "externalLink",
type: "string",
},
],
internalType: "struct IDAOVoting.ExtendedSituation[]",
name: "situations",
type: "tuple[]",
},
{
components: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "bytes",
name: "value",
type: "bytes",
},
{
internalType: "enum ParameterType",
name: "solidityType",
type: "uint8",
},
],
internalType: "struct Parameter[]",
name: "initialParameters",
type: "tuple[]",
},
{
internalType: "address[]",
name: "initialMembers",
type: "address[]",
},
],
internalType: "struct DAOPanelConstructorParameters",
name: "daoPanelParams_",
type: "tuple",
},
],
name: "deployDAOPanel",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
{
components: [
{
internalType: "address",
name: "target",
type: "address",
},
{
internalType: "contract DAOMemberStorage",
name: "linkedMemberStorage",
type: "address",
},
],
internalType: "struct IPermissionManager.VetoGroup[]",
name: "vetoGroups_",
type: "tuple[]",
},
],
name: "finishDAOSetup",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "getInjector",
outputs: [
{
internalType: "address",
name: "injector_",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getTrustedForwarder",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "isDAOVetoConfigured",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "isDAOVotingConfigured",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "forwarder_",
type: "address",
},
],
name: "isTrustedForwarder",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "masterAccess",
outputs: [
{
internalType: "contract MasterAccessManagement",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "masterDAORegistry",
outputs: [
{
internalType: "contract MasterDAORegistry",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "salt_",
type: "bytes32",
},
],
name: "predictDAOAddress",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address[]",
name: "daoAddresses_",
type: "address[]",
},
],
name: "restoreRegistryPools",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "contract DAORegistry",
name: "dao_",
type: "address",
},
],
name: "revokeDAOCreatorRole",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "registryAddress_",
type: "address",
},
{
internalType: "bytes",
name: "",
type: "bytes",
},
],
name: "setDependencies",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "injector_",
type: "address",
},
],
name: "setInjector",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "forwarder_",
type: "address",
},
],
name: "setTrustedForwarder",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "version",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "versionRecipient",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "pure",
type: "function",
},
];
const _bytecode = "0x6080806040523461001657614894908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b60003560e01c80630d9d0bf514620001b55780631797ac1414620001af57806319b477ce14620001a957806328e32a6d14620001a357806338894ace146200019d5780633e3b5b191462000197578063486ff0cd14620001915780634cbd1467146200018b57806354fd4d501462000185578063572b6c05146200017f5780635d0d8e7314620001795780636913045114620001735780637dc9e2ef146200016d5780637e6d0f3a14620001675780637ef6af5e14620001615780638cb941cc146200015b57806395788db81462000155578063ce1b815f146200014f578063d247fe0a1462000149578063d98d0c7e1462000143578063da742228146200013d578063e708953414620001375763fb76dca5146200013157600080fd5b62001f39565b62001f0e565b62001eb0565b62001e85565b62001e3f565b62001e06565b62001d32565b62001cf4565b62001cae565b62001c82565b62001b53565b6200171c565b620015ad565b62001562565b62001515565b620014ea565b6200149e565b62001403565b620012b3565b62000ded565b62000d02565b62000b50565b620001d2565b6001600160a01b03811603620001cd57565b600080fd5b34620001cd5760031960403682018113620001cd576004803590620001f782620001bb565b6024356001600160401b038111620001cd57610140818301958236030112620001cd576200022f62000228620020de565b84620030c5565b6200023d6064820162002130565b62000248816200211f565b80620007e757506001600160a01b0383166200026586806200213e565b91620002746024850162002173565b90803b15620001cd57620002a293600080948a5196879586948593635fadb00b60e11b85528c850162002208565b03925af180156200053957620007d0575b505b6001600160a01b03928316620002cc86806200213e565b9690823b15620001cd57865190631adad8cf60e01b82528180620002f760009b8c948a840162002233565b038183875af180156200053957620007b9575b506200031781806200213e565b908751633581777360e01b9182825281806200033a60209687948c840162002233565b0381885afa90811562000539578a9162000797575b5061010486018a8a6200036383886200213e565b905062000748575b516309a06df560e41b81529150849050818981895afa90811562000539578b918a91839162000726575b501660448801620003a781886200213e565b9050620006a7575b50620003bb8362003256565b6200063a575b60e488018a620003d18262002173565b16620005b4575b505050506200040482620003eb62002367565b8a518093819263065ab60960e41b83528b830162001488565b0381885afa8015620005395788918b9162000592575b5016896200042c608488018662002395565b9092803b156200058e576200045893838b8e519687958694859363cabc429d60e01b85528401620024d7565b03925af18015620005395762000577575b5060a48501906200047b82856200213e565b905062000486578980f35b620004ad94620004988493866200213e565b928b519788948593849384528c840162002233565b03915afa95861562000539578896620004d79460c493899262000543575b505016930190620024ea565b91813b156200053f5783620004fe95518096819582946238399160e11b8452830162002515565b03925af1801562000539576200051b575b80808080808080808980f35b806200052b620005329262000960565b80620013f7565b386200050f565b620021fc565b8380fd5b620005679250803d106200056f575b6200055e8183620009ce565b81019062002246565b3880620004cb565b503d62000552565b806200052b620005879262000960565b3862000469565b8280fd5b620005ad9150843d86116200056f576200055e8183620009ce565b386200041a565b620005c3620005cf9162002173565b6001600160a01b031690565b90803b156200058e578b51630423b79f60e01b81526001600160a01b039485168b8201908152929094166020830152839182908490829060400103925af18015620005395762000623575b898180620003d8565b806200052b620006339262000960565b386200061a565b6200064686806200213e565b9290823b15620006a3578c5163760c1fe360e11b815293849182916200066f91838f0162002233565b038183855af191821562000539578c926200068c575b50620003c1565b806200052b6200069c9262000960565b3862000685565b5080fd5b620006cc919250620006be620006c691886200213e565b3691620016c2565b62003233565b908b813b1562000723578b5163ee2f6ce560e01b81529283908190620006f69087838f01620022f0565b038183855af191821562000539578c9215620003af57806200052b6200071c9262000960565b38620003af565b80fd5b620007419150863d88116200056f576200055e8183620009ce565b3862000395565b6200076c82916200075e6200078d958a6200213e565b92909151809381936200225e565b039082865af16200077c6200226c565b62000786620022a1565b91620031b2565b50388a8a6200036b565b620007b29150833d85116200056f576200055e8183620009ce565b386200034f565b806200052b620007c99262000960565b386200030a565b806200052b620007e09262000960565b38620002b3565b620007f2816200211f565b600181036200087e57506001600160a01b0383166200081286806200213e565b91620008216024850162002173565b90803b15620001cd576200084f93600080948a5196879586948593631c1c109f60e31b85528c850162002208565b03925af18015620005395762000867575b50620002b5565b806200052b620008779262000960565b3862000860565b806200088c6002926200211f565b03620008e5576001600160a01b038316620008a886806200213e565b91620008b76024850162002173565b90803b15620001cd576200084f93600080948a5196879586948593631476b60b60e21b85528c850162002208565b6001600160a01b038316620008fb86806200213e565b91906200090b6024850162002173565b91620009166200217f565b813b15620001cd576000866200084f6101249383978b8e519a8b998a98899763592a240f60e11b89520135928701620021ba565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116200097457604052565b6200094a565b604081019081106001600160401b038211176200097457604052565b606081019081106001600160401b038211176200097457604052565b602081019081106001600160401b038211176200097457604052565b90601f801991011681019081106001600160401b038211176200097457604052565b6040519061012082018281106001600160401b038211176200097457604052565b6040519060a082018281106001600160401b038211176200097457604052565b6040519062000a4082620009b2565b565b9062000a406040519283620009ce565b6001600160401b038111620009745760051b60200190565b359062000a4082620001bb565b906040916040600319820112620001cd5760043562000a9681620001bb565b926024356001600160401b038111620001cd5782602382011215620001cd5780600401359262000ac68462000a52565b9362000ad66040519586620009ce565b8085526020916024602087019260061b85010193818511620001cd57602401915b84831062000b085750505050505090565b8583830312620001cd57838691825162000b22816200097a565b853562000b2f81620001bb565b81528286013562000b4081620001bb565b8382015281520192019162000af7565b34620001cd5762000b613662000a77565b9062000b7762000b70620020de565b82620030c5565b6001600160a01b03908116600081815260036020526040902090919062000bb49062000bae9062000baa905b5460ff1690565b1590565b620026fd565b6040516309a06df560e41b8152602081600481865afa908115620005395760009162000c6a575b5016803b15620001cd57604051634b5afc9b60e11b815292600091849182908490829062000c0d906004830162002770565b03925af1908115620005395762000c519262000c449262000c53575b506001600160a01b0316600090815260036020526040902090565b805460ff19166001179055565b005b806200052b62000c639262000960565b3862000c29565b62000c87915060203d6020116200056f576200055e8183620009ce565b3862000bdb565b9080601f83011215620001cd57602090823562000cab8162000a52565b9362000cbb6040519586620009ce565b81855260208086019260051b820101928311620001cd57602001905b82821062000ce6575050505090565b838091833562000cf681620001bb565b81520191019062000cd7565b34620001cd576020366003190112620001cd57600480356001600160401b038111620001cd5762000d3890369060040162000c8e565b9062000d4d62000d47620027c9565b62003342565b60005b825181101562000c51576002546001600160a01b03169062000d8462000d77828662002803565b516001600160a01b031690565b91803b15620001cd57604051631a8a4cab60e31b81526001600160a01b03909316848401908152600091849182908490829060200103925af1918215620005395760019262000dd6575b500162000d50565b806200052b62000de69262000960565b3862000dce565b34620001cd5760206003198181360112620001cd5760049081356001600160401b038111620001cd5760c0818401928236030112620001cd5762000e3560648201356200344c565b60025490939062000e4f906001600160a01b0316620005c3565b62000e5e60a484018562002395565b929094823b15620001cd576040958651809463be13809f60e01b8252818a8162000e9160009a8b9788948b8501620028b7565b03925af1928315620005395762000f02936200129c575b5062000ebe8762000eb8620028db565b62003577565b600254909590899062000eda906001600160a01b0316620005c3565b62000ee462002905565b8951634c7a051160e11b815296879291839182918e8a840162002939565b03915afa9384156200053957859462001278575b506001600160a01b038881169690949062000f3560448401856200213e565b62000f4293919362002b00565b908a3b1562001274578993929162000f70918d51968795869563ab22f0eb60e01b875230908d88016200295d565b0381838b5af1801562000539576200125d575b5060025462000f9b906001600160a01b0316620005c3565b803b156200120c578751631a8a4cab60e31b81526001600160a01b038a168582019081529091879183919082908490829060200103925af18015620005395762001246575b5062000fec866200364e565b6200102c60848562001021620010056024860162002173565b6200100f62002367565b62001019620029b2565b918c6200383f565b501692018362002395565b9190813b1562001242579186916200105a93838b5180968195829463cabc429d60e01b84528b8401620024d7565b03925af1801562000539576200122b575b5062001076620028db565b853b15620012275784886200109f9289519384928392631476b60b60e21b8452888401620029de565b0381838a5af18015620005395762001210575b5073__$ea61bb87e9f9642833743a8678300e4b4c$__620010d38262002173565b90803b156200120c57875163f6589b1760e01b81526001600160a01b03808b168683019081529316602084015291869183918290819060400103915af48015620005395786927fb2840e7d03466703b6b988ebe97e98753b3d36ba785926cb99076d7692407a43926200115392620011f5575b5088519182918262002a2f565b0390a286855180926309a06df560e41b825281875afa9081156200053957620011cf977f2644cad9fcdc4b01c2a2ce557ac1e7dca97090b51f5aa2f09a2e2ee0feaf76219492620011d3575b505084516001600160a01b039490941684521691602090a2516001600160a01b0390911681529081906020820190565b0390f35b620011ed9250803d106200056f576200055e8183620009ce565b38806200119f565b806200052b620012059262000960565b3862001146565b8580fd5b806200052b620012209262000960565b38620010b2565b8480fd5b806200052b6200123b9262000960565b386200106b565b8680fd5b806200052b620012569262000960565b3862000fe0565b806200052b6200126d9262000960565b3862000f83565b8980fd5b62001294919450893d8b116200056f576200055e8183620009ce565b923862000f16565b806200052b620012ac9262000960565b3862000ea8565b34620001cd57602080600319360112620001cd5762001328906103ed620012dc82820162000a42565b908082526200445b83830139600254829062001301906001600160a01b0316620005c3565b6200130b620028db565b9060405180809781946335b41c4b60e11b83526004830162001488565b03915afa9182156200053957620013ad620013b9936200139992620011cf96600092620013d3575b50620013a06200135f620020c9565b926200137360405194859285840162002939565b039262001389601f1994858101835282620009ce565b6040519586938401809862002ae7565b9062002ae7565b03908101835282620009ce565b51902060043562003ac8565b6040516001600160a01b0390911681529081906020820190565b81620013ef9293503d84116200056f576200055e8183620009ce565b903862001350565b6000910312620001cd57565b34620001cd576000366003190112620001cd5760008051602062004848833981519152546040516001600160a01b039091168152602090f35b60005b838110620014505750506000910152565b81810151838201526020016200143f565b906020916200147c815180928185528580860191016200143c565b601f01601f1916010190565b9060206200149b92818152019062001461565b90565b34620001cd576000366003190112620001cd57620011cf604051620014c3816200097a565b60058152640322e302e360dc1b602082015260405191829160208352602083019062001461565b34620001cd576000366003190112620001cd576001546040516001600160a01b039091168152602090f35b34620001cd576000366003190112620001cd57620011cf6040516200153a816200097a565b6006815265076312e342e360d41b602082015260405191829160208352602083019062001461565b34620001cd576020366003190112620001cd5760206004356200158581620001bb565b60008051602062004868833981519152546040516001600160a01b0392831691909216148152f35b34620001cd576020366003190112620001cd576020600435620015d081620001bb565b620015de62000b70620020de565b6040516309a06df560e41b81526001600160a01b039290918290600490829086165afa908115620005395760009162001682575b50166200161e62003ae8565b620016326200162c62002bf8565b62003b2d565b823b15620001cd57620016609260009283604051809681958294634f0d84e360e01b845260048401620022f0565b03925af1801562000539576200167257005b806200052b62000c519262000960565b6200169f915060203d6020116200056f576200055e8183620009ce565b3862001612565b6001600160401b0381116200097457601f01601f191660200190565b929192620016d082620016a6565b91620016e06040519384620009ce565b829481845281830111620001cd578281602093846000960137010152565b9080601f83011215620001cd578160206200149b93359101620016c2565b34620001cd576040366003190112620001cd576004356200173d81620001bb565b6024356001600160401b038111620001cd576200175f903690600401620016fe565b506200176a62003b96565b600080546001600160a01b0319166001600160a01b0392831690811782559091906200179690620005c3565b9060405180926309a06df560e41b825281600460209586935afa9081156200053957620017eb918391869162001891575b501660018060a01b03166bffffffffffffffffffffffff60a01b6001541617600155565b8254600490839062001806906001600160a01b0316620005c3565b6040516335000d2960e01b815292839182905afa9081156200053957620018549385926200186f575b50501660018060a01b03166bffffffffffffffffffffffff60a01b6002541617600255565b6200186c336000805160206200484883398151915255565b80f35b620018899250803d106200056f576200055e8183620009ce565b38806200182f565b620018ac9150853d87116200056f576200055e8183620009ce565b38620017c7565b9080601f83011215620001cd57813591602091620018d18462000a52565b936040620018e281519687620009ce565b818652848087019260051b85010193838511620001cd57858101925b85841062001910575050505050505090565b6001600160401b038435818111620001cd57830191601f198581858a030112620001cd5785519062001942826200097a565b8a850135848111620001cd578501908781838c030112620001cd578751916200196b836200097a565b8c810135868111620001cd578b8e6200198792840101620016fe565b83528881013590868211620001cd57016101208092828d030112620001cd57620019b0620009f0565b918d82013583528d8a830135908401526060808301358b850152608090818401359085015260a090818401359085015260c090818401359085015260e0830135908401526101009182810135888111620001cd578f8e9062001a1592840101620016fe565b60e08501520135908201528b820152815285840135928311620001cd5762001a45888b80969581960101620016fe565b83820152815201930192620018fe565b35906006821015620001cd57565b81601f82011215620001cd5780359160209162001a808462000a52565b9360409262001a936040519687620009ce565b818652848087019260051b84010193818511620001cd57858401925b85841062001ac1575050505050505090565b6001600160401b03908435828111620001cd5786019060609283601f198488030112620001cd5784519062001af68262000996565b8a840135818111620001cd57878c62001b1292870101620016fe565b825285840135908111620001cd578a948462001b38898862001b439581990101620016fe565b868501520162001a55565b8582015281520193019262001aaf565b34620001cd57600319604036820112620001cd57600480359162001b7783620001bb565b602435926001600160401b0391828511620001cd5760a0908536030112620001cd5762001ba362000a11565b9184840135818111620001cd5762001bc190853691880101620016fe565b835262001bd16024860162000a6a565b60208401526044850135818111620001cd5762001bf490853691880101620018b3565b60408401526064850135818111620001cd5762001c179085369188010162001a63565b606084015260848501359