{
"abi": [
{
"inputs": [],
"name": "aspensVault",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "cancelOwnershipHandover",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "pendingOwner",
"type": "address"
}
],
"name": "completeOwnershipHandover",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_tradingInstanceSigner",
"type": "address"
},
{
"internalType": "uint16",
"name": "_fees",
"type": "uint16"
}
],
"name": "createInstance",
"outputs": [
{
"internalType": "address",
"name": "_newTradingInstance",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "currentVersionBytecode",
"outputs": [
{
"internalType": "bytes",
"name": "_currentByteCode",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tradingInstance",
"type": "address"
}
],
"name": "deployedTradingInstances",
"outputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBytecodeSize",
"outputs": [
{
"internalType": "uint256",
"name": "_byteCodeSize",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentVersionBytecode",
"outputs": [
{
"internalType": "bytes",
"name": "_currentByteCode",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentVersionHash",
"outputs": [
{
"internalType": "bytes32",
"name": "_currentHash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_instanceAddress",
"type": "address"
}
],
"name": "getTradingInstanceSigner",
"outputs": [
{
"internalType": "address",
"name": "_signer",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "_aspensVault",
"type": "address"
},
{
"internalType": "address",
"name": "_permit2",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "result",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "pendingOwner",
"type": "address"
}
],
"name": "ownershipHandoverExpiresAt",
"outputs": [
{
"internalType": "uint256",
"name": "result",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "requestOwnershipHandover",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "rescueEth",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_newImpl",
"type": "address"
}
],
"name": "updateImpl",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldImpl",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newImpl",
"type": "address"
}
],
"name": "ImplUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "pendingOwner",
"type": "address"
}
],
"name": "OwnershipHandoverCanceled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "pendingOwner",
"type": "address"
}
],
"name": "OwnershipHandoverRequested",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "tradingInstanceAddress",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "signer",
"type": "address"
}
],
"name": "TradingInstanceCreated",
"type": "event"
},
{
"inputs": [],
"name": "AlreadyInitialized",
"type": "error"
},
{
"inputs": [],
"name": "INVALID_BYTE_SIZE",
"type": "error"
},
{
"inputs": [],
"name": "NewOwnerIsZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "NoHandoverRequest",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [],
"name": "ZERO_ADDRESS_ASPENS_VAULT",
"type": "error"
},
{
"inputs": [],
"name": "ZERO_ADDRESS_OWNER",
"type": "error"
},
{
"inputs": [],
"name": "ZERO_ADDRESS_PERMIT2",
"type": "error"
}
],
"assembly": null,
"bytecode": "0x6080604052348015600e575f5ffd5b506113898061001c5f395ff3fe608060405260043610610108575f3560e01c806398b0bec311610094578063ce31a06b11610063578063ce31a06b14610302578063f04e283e14610318578063f2fde38b14610334578063fcf1e00914610350578063fee81cf41461037857610108565b806398b0bec31461025c578063ae32f99114610286578063c0c53b8b146102b0578063c72802dc146102d857610108565b806354d1f13d116100db57806354d1f13d146101a657806359397677146101b0578063715018a6146101ec5780638da5cb5b146101f65780638e8571c51461022057610108565b80630e6b0a151461010c57806316a084491461013657806325692962146101605780632791c74e1461016a575b5f5ffd5b348015610117575f5ffd5b506101206103b4565b60405161012d9190610fdc565b60405180910390f35b348015610141575f5ffd5b5061014a61040d565b604051610157919061103b565b60405180910390f35b610168610432565b005b348015610175575f5ffd5b50610190600480360381019061018b9190611082565b610483565b60405161019d919061103b565b60405180910390f35b6101ae6104b3565b005b3480156101bb575f5ffd5b506101d660048036038101906101d19190611082565b6104ec565b6040516101e3919061103b565b60405180910390f35b6101f4610551565b005b348015610201575f5ffd5b5061020a610564565b604051610217919061103b565b60405180910390f35b34801561022b575f5ffd5b50610246600480360381019061024191906110e4565b61058c565b604051610253919061103b565b60405180910390f35b348015610267575f5ffd5b5061027061076e565b60405161027d919061113a565b60405180910390f35b348015610291575f5ffd5b5061029a6107cd565b6040516102a79190610fdc565b60405180910390f35b3480156102bb575f5ffd5b506102d660048036038101906102d19190611153565b610826565b005b3480156102e3575f5ffd5b506102ec6109e3565b6040516102f991906111bb565b60405180910390f35b34801561030d575f5ffd5b50610316610a21565b005b610332600480360381019061032d9190611082565b610ad4565b005b61034e60048036038101906103499190611082565b610b12565b005b34801561035b575f5ffd5b5061037660048036038101906103719190611082565b610b3b565b005b348015610383575f5ffd5b5061039e60048036038101906103999190611082565b610c4f565b6040516103ab91906111bb565b60405180910390f35b60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61043b610c68565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6003602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610559610c72565b6105625f610ca9565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b036105fd576040517ff68d79c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f833060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051602001610636949392919061124d565b6040516020818303038152906040529050610690815f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6f90919063ffffffff16565b91508360035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fda6fc6c449f6c6459f464189da9adaede6fd2243bed808c290ce0ef8c286d95660405160405180910390a35092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c80519060200120905090565b60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361088b576040517fa7e3283100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108f0576040517f2e75ee3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610955576040517f8b1bdddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095e83610e92565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b905090565b610a29610c72565b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051610a4e906112c7565b5f6040518083038185875af1925050503d805f8114610a88576040519150601f19603f3d011682016040523d82523d5f602084013e610a8d565b606091505b5050905080610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890611335565b60405180910390fd5b50565b610adc610c72565b63389a75e1600c52805f526020600c208054421115610b0257636f5e88185f526004601cfd5b5f815550610b0f81610ca9565b50565b610b1a610c72565b8060601b610b2f57637448fbae5f526004601cfd5b610b3881610ca9565b50565b610b43610c72565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03610b93576040517ff68d79c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fbc177199a5e2a6bef75e52ba7ca48f30d61d9b98ae9f25df98855a078dd77d3460405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610ca7576382b429005f526004601cfd5b565b610cb1610f68565b15610d16577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa3811560ff1b8217815550610d6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa3818155505b50565b5f6002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf30000000000000000000000000000000000000060328201528551603f8201602088015b600115610e115760208310610e115780518252602082019150602081019050602083039250610de7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360031b1b80825116835283830192508760f01b835286855ff0985088610e7e577febfef188000000000000000000000000000000000000000000000000000000005f5260205ffd5b868501604052505050505050505092915050565b610e9a610f68565b15610f12577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610ed457630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa350610f65565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa35b50565b5f90565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610fae82610f6c565b610fb88185610f76565b9350610fc8818560208601610f86565b610fd181610f94565b840191505092915050565b5f6020820190508181035f830152610ff48184610fa4565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61102582610ffc565b9050919050565b6110358161101b565b82525050565b5f60208201905061104e5f83018461102c565b92915050565b5f5ffd5b6110618161101b565b811461106b575f5ffd5b50565b5f8135905061107c81611058565b92915050565b5f6020828403121561109757611096611054565b5b5f6110a48482850161106e565b91505092915050565b5f61ffff82169050919050565b6110c3816110ad565b81146110cd575f5ffd5b50565b5f813590506110de816110ba565b92915050565b5f5f604083850312156110fa576110f9611054565b5b5f6111078582860161106e565b9250506020611118858286016110d0565b9150509250929050565b5f819050919050565b61113481611122565b82525050565b5f60208201905061114d5f83018461112b565b92915050565b5f5f5f6060848603121561116a57611169611054565b5b5f6111778682870161106e565b93505060206111888682870161106e565b92505060406111998682870161106e565b9150509250925092565b5f819050919050565b6111b5816111a3565b82525050565b5f6020820190506111ce5f8301846111ac565b92915050565b5f8160601b9050919050565b5f6111ea826111d4565b9050919050565b5f6111fb826111e0565b9050919050565b61121361120e8261101b565b6111f1565b82525050565b5f8160f01b9050919050565b5f61122f82611219565b9050919050565b611247611242826110ad565b611225565b82525050565b5f6112588287611202565b6014820191506112688286611202565b6014820191506112788285611202565b6014820191506112888284611236565b60028201915081905095945050505050565b5f81905092915050565b50565b5f6112b25f8361129a565b91506112bd826112a4565b5f82019050919050565b5f6112d1826112a7565b9150819050919050565b5f82825260208201905092915050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f61131f6013836112db565b915061132a826112eb565b602082019050919050565b5f6020820190508181035f83015261134c81611313565b905091905056fea2646970667358221220ceb7048c88042bc0fcfe82f7e96b0b069c7278f702d0f7be617fa81d3bdd159164736f6c634300081f0033",
"contractName": "MidribFactory",
"deployedBytecode": {
"linkReferences": {},
"object": "0x608060405260043610610108575f3560e01c806398b0bec311610094578063ce31a06b11610063578063ce31a06b14610302578063f04e283e14610318578063f2fde38b14610334578063fcf1e00914610350578063fee81cf41461037857610108565b806398b0bec31461025c578063ae32f99114610286578063c0c53b8b146102b0578063c72802dc146102d857610108565b806354d1f13d116100db57806354d1f13d146101a657806359397677146101b0578063715018a6146101ec5780638da5cb5b146101f65780638e8571c51461022057610108565b80630e6b0a151461010c57806316a084491461013657806325692962146101605780632791c74e1461016a575b5f5ffd5b348015610117575f5ffd5b506101206103b4565b60405161012d9190610fdc565b60405180910390f35b348015610141575f5ffd5b5061014a61040d565b604051610157919061103b565b60405180910390f35b610168610432565b005b348015610175575f5ffd5b50610190600480360381019061018b9190611082565b610483565b60405161019d919061103b565b60405180910390f35b6101ae6104b3565b005b3480156101bb575f5ffd5b506101d660048036038101906101d19190611082565b6104ec565b6040516101e3919061103b565b60405180910390f35b6101f4610551565b005b348015610201575f5ffd5b5061020a610564565b604051610217919061103b565b60405180910390f35b34801561022b575f5ffd5b50610246600480360381019061024191906110e4565b61058c565b604051610253919061103b565b60405180910390f35b348015610267575f5ffd5b5061027061076e565b60405161027d919061113a565b60405180910390f35b348015610291575f5ffd5b5061029a6107cd565b6040516102a79190610fdc565b60405180910390f35b3480156102bb575f5ffd5b506102d660048036038101906102d19190611153565b610826565b005b3480156102e3575f5ffd5b506102ec6109e3565b6040516102f991906111bb565b60405180910390f35b34801561030d575f5ffd5b50610316610a21565b005b610332600480360381019061032d9190611082565b610ad4565b005b61034e60048036038101906103499190611082565b610b12565b005b34801561035b575f5ffd5b5061037660048036038101906103719190611082565b610b3b565b005b348015610383575f5ffd5b5061039e60048036038101906103999190611082565b610c4f565b6040516103ab91906111bb565b60405180910390f35b60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61043b610c68565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f5fa250565b6003602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f5fa2565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610559610c72565b6105625f610ca9565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b036105fd576040517ff68d79c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f833060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051602001610636949392919061124d565b6040516020818303038152906040529050610690815f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d6f90919063ffffffff16565b91508360035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fda6fc6c449f6c6459f464189da9adaede6fd2243bed808c290ce0ef8c286d95660405160405180910390a35092915050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c80519060200120905090565b60605f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16803b806020016040519081016040528181525f908060200190933c905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361088b576040517fa7e3283100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108f0576040517f2e75ee3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610955576040517f8b1bdddc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61095e83610e92565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163b905090565b610a29610c72565b5f3373ffffffffffffffffffffffffffffffffffffffff1647604051610a4e906112c7565b5f6040518083038185875af1925050503d805f8114610a88576040519150601f19603f3d011682016040523d82523d5f602084013e610a8d565b606091505b5050905080610ad1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac890611335565b60405180910390fd5b50565b610adc610c72565b63389a75e1600c52805f526020600c208054421115610b0257636f5e88185f526004601cfd5b5f815550610b0f81610ca9565b50565b610b1a610c72565b8060601b610b2f57637448fbae5f526004601cfd5b610b3881610ca9565b50565b610b43610c72565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03610b93576040517ff68d79c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fbc177199a5e2a6bef75e52ba7ca48f30d61d9b98ae9f25df98855a078dd77d3460405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610ca7576382b429005f526004601cfd5b565b610cb1610f68565b15610d16577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa3811560ff1b8217815550610d6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa3818155505b50565b5f6002825101603f8101600a81036040518360581b8260e81b177f6100003d81600a3d39f3363d3d373d3d3d3d610000806035363936013d7300001781528660601b601e8201527f5af43d3d93803e603357fd5bf30000000000000000000000000000000000000060328201528551603f8201602088015b600115610e115760208310610e115780518252602082019150602081019050602083039250610de7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360031b1b80825116835283830192508760f01b835286855ff0985088610e7e577febfef188000000000000000000000000000000000000000000000000000000005f5260205ffd5b868501604052505050505050505092915050565b610e9a610f68565b15610f12577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610ed457630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa350610f65565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f5fa35b50565b5f90565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610fae82610f6c565b610fb88185610f76565b9350610fc8818560208601610f86565b610fd181610f94565b840191505092915050565b5f6020820190508181035f830152610ff48184610fa4565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61102582610ffc565b9050919050565b6110358161101b565b82525050565b5f60208201905061104e5f83018461102c565b92915050565b5f5ffd5b6110618161101b565b811461106b575f5ffd5b50565b5f8135905061107c81611058565b92915050565b5f6020828403121561109757611096611054565b5b5f6110a48482850161106e565b91505092915050565b5f61ffff82169050919050565b6110c3816110ad565b81146110cd575f5ffd5b50565b5f813590506110de816110ba565b92915050565b5f5f604083850312156110fa576110f9611054565b5b5f6111078582860161106e565b9250506020611118858286016110d0565b9150509250929050565b5f819050919050565b61113481611122565b82525050565b5f60208201905061114d5f83018461112b565b92915050565b5f5f5f6060848603121561116a57611169611054565b5b5f6111778682870161106e565b93505060206111888682870161106e565b92505060406111998682870161106e565b9150509250925092565b5f819050919050565b6111b5816111a3565b82525050565b5f6020820190506111ce5f8301846111ac565b92915050565b5f8160601b9050919050565b5f6111ea826111d4565b9050919050565b5f6111fb826111e0565b9050919050565b61121361120e8261101b565b6111f1565b82525050565b5f8160f01b9050919050565b5f61122f82611219565b9050919050565b611247611242826110ad565b611225565b82525050565b5f6112588287611202565b6014820191506112688286611202565b6014820191506112788285611202565b6014820191506112888284611236565b60028201915081905095945050505050565b5f81905092915050565b50565b5f6112b25f8361129a565b91506112bd826112a4565b5f82019050919050565b5f6112d1826112a7565b9150819050919050565b5f82825260208201905092915050565b7f455448207472616e73666572206661696c6564000000000000000000000000005f82015250565b5f61131f6013836112db565b915061132a826112eb565b602082019050919050565b5f6020820190508181035f83015261134c81611313565b905091905056fea2646970667358221220ceb7048c88042bc0fcfe82f7e96b0b069c7278f702d0f7be617fa81d3bdd159164736f6c634300081f0033",
"sourceMap": "647:4918:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3966:174;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;920:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9021:617:36;;;:::i;:::-;;1125:82:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9720:456:36;;;:::i;:::-;;3175:223:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8762:100:36;;;:::i;:::-;;11408:182;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2253:686:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4967:180;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4321:171;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1374:537;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4660:174;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5390:173;;;;;;;;;;;;;:::i;:::-;;10363:708:36;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8348:349;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3595:226:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11693:435:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3966:174:47;4026:29;4124:4;;;;;;;;;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;4105:28;;3966:174;:::o;920:26::-;;;;;;;;;;;;;:::o;9021:617:36:-;9114:15;9150:28;:26;:28::i;:::-;9132:46;;:15;:46;9114:64;;9346:19;9340:4;9333:33;9396:8;9390:4;9383:22;9452:7;9445:4;9439;9429:21;9422:38;9599:8;9552:45;9549:1;9546;9541:67;9248:374;9021:617::o;1125:82:47:-;;;;;;;;;;;;;;;;;;;;;;:::o;9720:456:36:-;9922:19;9916:4;9909:33;9968:8;9962:4;9955:22;10020:1;10013:4;10007;9997:21;9990:32;10151:8;10105:44;10102:1;10099;10094:66;9720:456::o;3175:223:47:-;3258:15;3349:24;:42;3374:16;3349:42;;;;;;;;;;;;;;;;;;;;;;;;;3339:52;;3175:223;;;:::o;8762:100:36:-;12517:13;:11;:13::i;:::-;8834:21:::1;8852:1;8834:9;:21::i;:::-;8762:100::o:0;11408:182::-;11454:14;11562:11;11556:18;11546:28;;11408:182;:::o;2253:686:47:-;2357:27;2470:1;2450:4;;;;;;;;;;;:16;;;:21;2446:66;;2480:32;;;;;;;;;;;;;;2446:66;2523:17;2560:22;2592:4;2599:7;;;;;;;;;;;2608:5;2543:71;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2523:91;;2647:16;2658:4;2647;;;;;;;;;;;:10;;;;:16;;;;:::i;:::-;2625:38;;2770:22;2722:24;:45;2747:19;2722:45;;;;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;2909:22;2852:80;;2888:19;2852:80;;;;;;;;;;;;2390:549;2253:686;;;;:::o;4967:180::-;5023:20;5130:4;;;;;;;;;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;5120:20;;;;;;5105:35;;4967:180;:::o;4321:171::-;4378:29;4476:4;;;;;;;;;;;:9;;;;;;;;;;;;;;;;;;;;;;;;;4457:28;;4321:171;:::o;1374:537::-;1534:1;1516:20;;:6;:20;;;1512:66;;1545:33;;;;;;;;;;;;;;1512:66;1612:1;1592:22;;:8;:22;;;1588:70;;1623:35;;;;;;;;;;;;;;1588:70;1696:1;1672:26;;:12;:26;;;1668:79;;1707:40;;;;;;;;;;;;;;1668:79;1814:24;1831:6;1814:16;:24::i;:::-;1859:8;1849:7;;:18;;;;;;;;;;;;;;;;;;1892:12;1878:11;;:26;;;;;;;;;;;;;;;;;;1374:537;;;:::o;4660:174::-;4710:21;4811:4;;;;;;;;;;;:16;;;4795:32;;4660:174;:::o;5390:173::-;12517:13:36;:11;:13::i;:::-;5441:12:47::1;5458:10;:15;;5481:21;5458:49;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5440:67;;;5525:7;5517:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;5430:133;5390:173::o:0;10363:708:36:-;12517:13;:11;:13::i;:::-;10597:19:::1;10591:4;10584:33;10643:12;10637:4;10630:26;10705:4;10699;10689:21;10811:12;10805:19;10792:11;10789:36;10786:157;;;10857:10;10851:4;10844:24;10924:4;10918;10911:18;10786:157;11020:1;11006:12;10999:23;10515:517;11041:23;11051:12;11041:9;:23::i;:::-;10363:708:::0;:::o;8348:349::-;12517:13;:11;:13::i;:::-;8520:8:::1;8516:2;8512:17;8502:150;;8562:10;8556:4;8549:24;8633:4;8627;8620:18;8502:150;8671:19;8681:8;8671:9;:19::i;:::-;8348:349:::0;:::o;3595:226:47:-;12517:13:36;:11;:13::i;:::-;3690:1:47::1;3666:8;:20;;;:25:::0;3662:70:::1;;3700:32;;;;;;;;;;;;;;3662:70;3779:8;3748:40;;3773:4;;;;;;;;;;;3748:40;;;;;;;;;;;;3806:8;3799:4;;:15;;;;;;;;;;;;;;;;;;3595:226:::0;:::o;11693:435:36:-;11812:14;11963:19;11957:4;11950:33;12009:12;12003:4;11996:26;12106:4;12100;12090:21;12084:28;12074:38;;11693:435;;;:::o;7878:110::-;7947:6;7972:9;7965:16;;7878:110;:::o;7292:355::-;7504:11;7498:18;7488:8;7485:32;7475:156;;7550:10;7544:4;7537:24;7612:4;7606;7599:18;7475:156;7292:355::o;6145:1089::-;6213:23;:21;:23::i;:::-;6209:1019;;;6343:11;6443:8;6439:2;6435:17;6431:2;6427:26;6415:38;;6597:8;6585:9;6579:16;6539:38;6536:1;6533;6528:78;6710:8;6703:16;6698:3;6694:26;6684:8;6681:40;6670:9;6663:59;6308:428;6209:1019;;;6857:11;6957:8;6953:2;6949:17;6945:2;6941:26;6929:38;;7111:8;7099:9;7093:16;7053:38;7050:1;7047;7042:78;7195:8;7184:9;7177:27;6822:396;6209:1019;6145:1089;:::o;990:7567:1:-;1082:24;1309:1;1302:4;1296:11;1292:19;1429:16;1416:11;1412:34;1492:4;1478:12;1474:23;1563:24;1557:31;6751:11;6745:4;6741:22;6707:7;6701:4;6697:18;6669:116;6559:88;6535:268;6514:3;6490:327;6909:14;6903:4;6899:25;6876:4;6871:3;6867:14;6843:95;7008:42;6985:4;6980:3;6976:14;6952:112;7478:4;7472:11;7520:16;7515:3;7511:26;7575:8;7569:4;7565:19;7598:318;7605:4;7598:318;;;7646:8;7637:7;7634:21;7678:5;7631:70;7741:7;7735:14;7726:7;7719:31;7792:8;7783:7;7779:22;7768:33;;7842:8;7833:7;7829:22;7818:33;;7893:8;7884:7;7880:22;7869:33;;7598:318;;;8028:11;8000:7;7990:8;7986:22;7983:1;7979:30;7958:95;8103:4;8093:7;8087:14;8083:25;8074:7;8067:42;8146:7;8137;8133:21;8122:32;;8193:11;8187:4;8183:22;8174:7;8167:39;8247:12;8242:3;8239:1;8232:28;8220:40;;8284:8;8274:155;;8361:17;8358:1;8351:28;8406:8;8403:1;8396:19;8274:155;8527:12;8522:3;8518:22;8492:24;8485:56;1259:7292;;;;;;;;990:7567;;;;:::o;4883:1190:36:-;4958:23;:21;:23::i;:::-;4954:1113;;;5088:11;5125:9;5119:16;5116:150;;;5171:10;5165:4;5158:24;5243:4;5237;5230:18;5116:150;5355:8;5351:2;5347:17;5343:2;5339:26;5327:38;;5469:8;5462:16;5457:3;5453:26;5443:8;5440:40;5429:9;5422:59;5610:8;5607:1;5567:38;5564:1;5561;5556:63;5053:580;4954:1113;;;5809:8;5805:2;5801:17;5797:2;5793:26;5781:38;;5896:8;5883:11;5876:29;6034:8;6031:1;5991:38;5988:1;5985;5980:63;4954:1113;4883:1190;:::o;4348:78::-;4412:10;4348:78;:::o;7:98:64:-;58:6;92:5;86:12;76:22;;7:98;;;:::o;111:168::-;194:11;228:6;223:3;216:19;268:4;263:3;259:14;244:29;;111:168;;;;:::o;285:139::-;374:6;369:3;364;358:23;415:1;406:6;401:3;397:16;390:27;285:139;;;:::o;430:102::-;471:6;522:2;518:7;513:2;506:5;502:14;498:28;488:38;;430:102;;;:::o;538:373::-;624:3;652:38;684:5;652:38;:::i;:::-;706:70;769:6;764:3;706:70;:::i;:::-;699:77;;785:65;843:6;838:3;831:4;824:5;820:16;785:65;:::i;:::-;875:29;897:6;875:29;:::i;:::-;870:3;866:39;859:46;;628:283;538:373;;;;:::o;917:309::-;1028:4;1066:2;1055:9;1051:18;1043:26;;1115:9;1109:4;1105:20;1101:1;1090:9;1086:17;1079:47;1143:76;1214:4;1205:6;1143:76;:::i;:::-;1135:84;;917:309;;;;:::o;1232:126::-;1269:7;1309:42;1302:5;1298:54;1287:65;;1232:126;;;:::o;1364:96::-;1401:7;1430:24;1448:5;1430:24;:::i;:::-;1419:35;;1364:96;;;:::o;1466:118::-;1553:24;1571:5;1553:24;:::i;:::-;1548:3;1541:37;1466:118;;:::o;1590:222::-;1683:4;1721:2;1710:9;1706:18;1698:26;;1734:71;1802:1;1791:9;1787:17;1778:6;1734:71;:::i;:::-;1590:222;;;;:::o;1899:117::-;2008:1;2005;1998:12;2145:122;2218:24;2236:5;2218:24;:::i;:::-;2211:5;2208:35;2198:63;;2257:1;2254;2247:12;2198:63;2145:122;:::o;2273:139::-;2319:5;2357:6;2344:20;2335:29;;2373:33;2400:5;2373:33;:::i;:::-;2273:139;;;;:::o;2418:329::-;2477:6;2526:2;2514:9;2505:7;2501:23;2497:32;2494:119;;;2532:79;;:::i;:::-;2494:119;2652:1;2677:53;2722:7;2713:6;2702:9;2698:22;2677:53;:::i;:::-;2667:63;;2623:117;2418:329;;;;:::o;2753:89::-;2789:7;2829:6;2822:5;2818:18;2807:29;;2753:89;;;:::o;2848:120::-;2920:23;2937:5;2920:23;:::i;:::-;2913:5;2910:34;2900:62;;2958:1;2955;2948:12;2900:62;2848:120;:::o;2974:137::-;3019:5;3057:6;3044:20;3035:29;;3073:32;3099:5;3073:32;:::i;:::-;2974:137;;;;:::o;3117:472::-;3184:6;3192;3241:2;3229:9;3220:7;3216:23;3212:32;3209:119;;;3247:79;;:::i;:::-;3209:119;3367:1;3392:53;3437:7;3428:6;3417:9;3413:22;3392:53;:::i;:::-;3382:63;;3338:117;3494:2;3520:52;3564:7;3555:6;3544:9;3540:22;3520:52;:::i;:::-;3510:62;;3465:117;3117:472;;;;;:::o;3595:77::-;3632:7;3661:5;3650:16;;3595:77;;;:::o;3678:118::-;3765:24;3783:5;3765:24;:::i;:::-;3760:3;3753:37;3678:118;;:::o;3802:222::-;3895:4;3933:2;3922:9;3918:18;3910:26;;3946:71;4014:1;4003:9;3999:17;3990:6;3946:71;:::i;:::-;3802:222;;;;:::o;4030:619::-;4107:6;4115;4123;4172:2;4160:9;4151:7;4147:23;4143:32;4140:119;;;4178:79;;:::i;:::-;4140:119;4298:1;4323:53;4368:7;4359:6;4348:9;4344:22;4323:53;:::i;:::-;4313:63;;4269:117;4425:2;4451:53;4496:7;4487:6;4476:9;4472:22;4451:53;:::i;:::-;4441:63;;4396:118;4553:2;4579:53;4624:7;4615:6;4604:9;4600:22;4579:53;:::i;:::-;4569:63;;4524:118;4030:619;;;;;:::o;4655:77::-;4692:7;4721:5;4710:16;;4655:77;;;:::o;4738:118::-;4825:24;4843:5;4825:24;:::i;:::-;4820:3;4813:37;4738:118;;:::o;4862:222::-;4955:4;4993:2;4982:9;4978:18;4970:26;;5006:71;5074:1;5063:9;5059:17;5050:6;5006:71;:::i;:::-;4862:222;;;;:::o;5090:94::-;5123:8;5171:5;5167:2;5163:14;5142:35;;5090:94;;;:::o;5190:::-;5229:7;5258:20;5272:5;5258:20;:::i;:::-;5247:31;;5190:94;;;:::o;5290:100::-;5329:7;5358:26;5378:5;5358:26;:::i;:::-;5347:37;;5290:100;;;:::o;5396:157::-;5501:45;5521:24;5539:5;5521:24;:::i;:::-;5501:45;:::i;:::-;5496:3;5489:58;5396:157;;:::o;5559:96::-;5593:8;5642:5;5637:3;5633:15;5612:36;;5559:96;;;:::o;5661:94::-;5699:7;5728:21;5743:5;5728:21;:::i;:::-;5717:32;;5661:94;;;:::o;5761:153::-;5864:43;5883:23;5900:5;5883:23;:::i;:::-;5864:43;:::i;:::-;5859:3;5852:56;5761:153;;:::o;5920:674::-;6114:3;6129:75;6200:3;6191:6;6129:75;:::i;:::-;6229:2;6224:3;6220:12;6213:19;;6242:75;6313:3;6304:6;6242:75;:::i;:::-;6342:2;6337:3;6333:12;6326:19;;6355:75;6426:3;6417:6;6355:75;:::i;:::-;6455:2;6450:3;6446:12;6439:19;;6468:73;6537:3;6528:6;6468:73;:::i;:::-;6566:1;6561:3;6557:11;6550:18;;6585:3;6578:10;;5920:674;;;;;;;:::o;6600:147::-;6701:11;6738:3;6723:18;;6600:147;;;;:::o;6753:114::-;;:::o;6873:398::-;7032:3;7053:83;7134:1;7129:3;7053:83;:::i;:::-;7046:90;;7145:93;7234:3;7145:93;:::i;:::-;7263:1;7258:3;7254:11;7247:18;;6873:398;;;:::o;7277:379::-;7461:3;7483:147;7626:3;7483:147;:::i;:::-;7476:154;;7647:3;7640:10;;7277:379;;;:::o;7662:169::-;7746:11;7780:6;7775:3;7768:19;7820:4;7815:3;7811:14;7796:29;;7662:169;;;;:::o;7837:::-;7977:21;7973:1;7965:6;7961:14;7954:45;7837:169;:::o;8012:366::-;8154:3;8175:67;8239:2;8234:3;8175:67;:::i;:::-;8168:74;;8251:93;8340:3;8251:93;:::i;:::-;8369:2;8364:3;8360:12;8353:19;;8012:366;;;:::o;8384:419::-;8550:4;8588:2;8577:9;8573:18;8565:26;;8637:9;8631:4;8627:20;8623:1;8612:9;8608:17;8601:47;8665:131;8791:4;8665:131;:::i;:::-;8657:139;;8384:419;;;:::o"
},
"devdoc": null,
"ir": null,
"irOptimized": null,
"legacyAssembly": null,
"metadata": null,
"storageLayout": null,
"userdoc": null
}