@descent-protocol/sdk
Version:
A Typescript library for interacting with the Descent Protocol
241 lines • 665 kB
JSON
{
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AlreadyInitialized",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "expectedLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "InvalidEncodedParameterLength",
"type": "error"
},
{
"inputs": [],
"name": "MisMatchedInputsLength",
"type": "error"
},
{
"inputs": [],
"name": "NewOwnerIsZeroAddress",
"type": "error"
},
{
"inputs": [],
"name": "NoHandoverRequest",
"type": "error"
},
{
"inputs": [],
"name": "Unauthorized",
"type": "error"
},
{
"inputs": [],
"name": "UnsafeCast",
"type": "error"
},
{
"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"
},
{
"inputs": [
{
"internalType": "address",
"name": "_token",
"type": "address"
},
{
"internalType": "address",
"name": "_vaultAddress",
"type": "address"
},
{
"internalType": "bool",
"name": "isMax",
"type": "bool"
}
],
"name": "approveTokenForVault",
"outputs": [],
"stateMutability": "nonpayable",
"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": "bytes",
"name": "_packedOperations",
"type": "bytes"
},
{
"internalType": "bytes[]",
"name": "_encodedParameters",
"type": "bytes[]"
}
],
"name": "multiInteract",
"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": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "payable",
"type": "function"
}
],
"bytecode": {
"object": "0x608060405234801561001057600080fd5b5061001a3361001f565b61005b565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b61146e8061006a6000396000f3fe6080604052600436106100865760003560e01c8063715018a611610059578063715018a6146100dd5780638da5cb5b146100e5578063f04e283e14610116578063f2fde38b14610129578063fee81cf41461013c57600080fd5b8063256929621461008b5780632b492640146100955780633f7d7bc9146100b557806354d1f13d146100d5575b600080fd5b61009361017d565b005b3480156100a157600080fd5b506100936100b0366004610e5e565b6101cd565b3480156100c157600080fd5b506100936100d0366004610f38565b610c36565b610093610c5c565b610093610c98565b3480156100f157600080fd5b50638b78c6d819546040516001600160a01b0390911681526020015b60405180910390f35b610093610124366004610f88565b610cac565b610093610137366004610f88565b610cec565b34801561014857600080fd5b5061016f610157366004610f88565b63389a75e1600c908152600091909152602090205490565b60405190815260200161010d565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b8281146101ed57604051633a89615b60e01b815260040160405180910390fd5b6000805b82811015610c2e5785858281811061020b5761020b610fac565b919091013560f81c92506000905082600981111561022b5761022b610fc2565b600981111561023c5761023c610fc2565b14610c2e5760058260ff16600981111561025857610258610fc2565b600981111561026957610269610fc2565b036103975761029d84848381811061028357610283610fac565b90506020028101906102959190610fd8565b610120610d13565b60008060008060008888878181106102b7576102b7610fac565b90506020028101906102c99190610fd8565b8101906102d691906110c9565b6040805160a0810182526001600160a01b03871660608201908152608082018790528152602080820186905281830185905282518084018452308152908101879052915163187945bd60e11b8152969b5094995092975090955093506e22d473030f116ddee9f6b43ac78ba3926330f28b7a9261035b9290913390879060040161117c565b600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505050505050505050610c26565b60068260ff1660098111156103ae576103ae610fc2565b60098111156103bf576103bf610fc2565b03610546576103f38484838181106103d9576103d9610fac565b90506020028101906103eb9190610fd8565b610140610d13565b60008060008060008089898881811061040e5761040e610fac565b90506020028101906104209190610fd8565b81019061042d9190611200565b9550955095509550955095506e22d473030f116ddee9f6b43ac78ba36001600160a01b0316632b67b57033604051806060016040528060405180608001604052808c6001600160a01b031681526020016104908c6001600160a01b038016610d41565b6001600160a01b031681526020016104ae8b65ffffffffffff610d41565b65ffffffffffff1681526020016104cd8a65ffffffffffff8016610d41565b65ffffffffffff16905281523060208201526040908101879052516001600160e01b031960e085901b1681526105099291908690600401611275565b600060405180830381600087803b15801561052357600080fd5b505af1158015610537573d6000803e3d6000fd5b50505050505050505050610c26565b60078260ff16600981111561055d5761055d610fc2565b600981111561056e5761056e610fc2565b03610679576105a184848381811061058857610588610fac565b905060200281019061059a9190610fd8565b6040610d13565b6000808585848181106105b6576105b6610fac565b90506020028101906105c89190610fd8565b8101906105d591906112f3565b90925090506e22d473030f116ddee9f6b43ac78ba36336c785163330610602856001600160a01b03610d41565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529183166024830152821660448201529085166064820152608401600060405180830381600087803b15801561065a57600080fd5b505af115801561066e573d6000803e3d6000fd5b505050505050610c26565b60018260ff16600981111561069057610690610fc2565b60098111156106a1576106a1610fc2565b03610784576106d48484838181106106bb576106bb610fac565b90506020028101906106cd9190610fd8565b6060610d13565b60008060008686858181106106eb576106eb610fac565b90506020028101906106fd9190610fd8565b81019061070a919061131f565b60405163f970c3b760e01b81526001600160a01b0380841660048301523360248301526044820183905293965091945092509084169063f970c3b7906064015b600060405180830381600087803b15801561076457600080fd5b505af1158015610778573d6000803e3d6000fd5b50505050505050610c26565b60028260ff16600981111561079b5761079b610fc2565b60098111156107ac576107ac610fc2565b0361089c576107df8484838181106107c6576107c6610fac565b90506020028101906107d89190610fd8565b6080610d13565b6000806000808787868181106107f7576107f7610fac565b90506020028101906108099190610fd8565b8101906108169190611360565b604051635820ba6360e01b81526001600160a01b038085166004830152336024830152808416604483015260648201839052949850929650909450925090851690635820ba63906084015b600060405180830381600087803b15801561087b57600080fd5b505af115801561088f573d6000803e3d6000fd5b5050505050505050610c26565b60038260ff1660098111156108b3576108b3610fc2565b60098111156108c4576108c4610fc2565b03610964576108de8484838181106107c6576107c6610fac565b6000806000808787868181106108f6576108f6610fac565b90506020028101906109089190610fd8565b8101906109159190611360565b6040516349a66ca360e01b81526001600160a01b0380851660048301523360248301528084166044830152606482018390529498509296509094509250908516906349a66ca390608401610861565b60048260ff16600981111561097b5761097b610fc2565b600981111561098c5761098c610fc2565b03610a20576109a68484838181106106bb576106bb610fac565b60008060008686858181106109bd576109bd610fac565b90506020028101906109cf9190610fd8565b8101906109dc919061131f565b604051634fa7391960e01b81526001600160a01b03808416600483015233602483015260448201839052939650919450925090841690634fa739199060640161074a565b60088260ff166009811115610a3757610a37610fc2565b6009811115610a4857610a48610fc2565b03610b8657610a7c848483818110610a6257610a62610fac565b9050602002810190610a749190610fd8565b610100610d13565b600080600080878786818110610a9457610a94610fac565b9050602002810190610aa69190610fd8565b810190610ab391906113b1565b935093509350935060008082806020019051810190610ad29190611414565b91509150600083604081518110610aeb57610aeb610fac565b016020015160405163d505accf60e01b8152336004820152306024820152604481018890526064810187905260f89190911c6084820181905260a4820185905260c4820184905291506001600160a01b0388169063d505accf9060e401600060405180830381600087803b158015610b6257600080fd5b505af1158015610b76573d6000803e3d6000fd5b5050505050505050505050610c26565b60098260ff166009811115610b9d57610b9d610fc2565b6009811115610bae57610bae610fc2565b03610c2657610bc884848381811061058857610588610fac565b600080858584818110610bdd57610bdd610fac565b9050602002810190610bef9190610fd8565b810190610bfc91906112f3565b91509150816001600160a01b03163b600003610c1757600080fd5b610c2382333084610d6b565b50505b6001016101f1565b505050505050565b610c3e610dbf565b610c57838383610c4f576000610dda565b600019610dda565b505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610ca0610dbf565b610caa6000610e20565b565b610cb4610dbf565b63389a75e1600c52806000526020600c208054421115610cdc57636f5e88186000526004601cfd5b60009055610ce981610e20565b50565b610cf4610dbf565b8060601b610d0a57637448fbae6000526004601cfd5b610ce981610e20565b808214610c575760405163582379b960e11b8152600481018290526024810183905260440160405180910390fd5b600082821015610d645760405163c4bd89a960e01b815260040160405180910390fd5b5090919050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d156001600051141716610db157637939f4246000526004601cfd5b600060605260405250505050565b638b78c6d819543314610caa576382b429006000526004601cfd5b816014528060345263095ea7b360601b60005260206000604460106000875af13d156001600051141716610e1657633e3f8f736000526004601cfd5b6000603452505050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008060008060408587031215610e7457600080fd5b843567ffffffffffffffff80821115610e8c57600080fd5b818701915087601f830112610ea057600080fd5b813581811115610eaf57600080fd5b886020828501011115610ec157600080fd5b602092830196509450908601359080821115610edc57600080fd5b818701915087601f830112610ef057600080fd5b813581811115610eff57600080fd5b8860208260051b8501011115610f1457600080fd5b95989497505060200194505050565b6001600160a01b0381168114610ce957600080fd5b600080600060608486031215610f4d57600080fd5b8335610f5881610f23565b92506020840135610f6881610f23565b915060408401358015158114610f7d57600080fd5b809150509250925092565b600060208284031215610f9a57600080fd5b8135610fa581610f23565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b6000808335601e19843603018112610fef57600080fd5b83018035915067ffffffffffffffff82111561100a57600080fd5b60200191503681900382131561101f57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261104d57600080fd5b813567ffffffffffffffff8082111561106857611068611026565b604051601f8301601f19908116603f0116810190828211818310171561109057611090611026565b816040528381528660208588010111156110a957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156110e157600080fd5b85356110ec81610f23565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561111d57600080fd5b6111298882890161103c565b9150509295509295909350565b6000815180845260005b8181101561115c57602081850181015186830182015201611140565b506000602082860101526020601f19601f83011685010191505092915050565b600061010061119f83885180516001600160a01b03168252602090810151910152565b60208701516040840152604087015160608401526111d3608084018780516001600160a01b03168252602090810151910152565b6001600160a01b03851660c084015260e083018190526111f581840185611136565b979650505050505050565b60008060008060008060c0878903121561121957600080fd5b863561122481610f23565b95506020870135945060408701359350606087013592506080870135915060a087013567ffffffffffffffff81111561125c57600080fd5b61126889828a0161103c565b9150509295509295509295565b600061010060018060a01b0380871684528551818151166020860152816020820151166040860152604081015165ffffffffffff80821660608801528060608401511660808801525050508060208701511660a085015250604085015160c08401528060e08401526112e981840185611136565b9695505050505050565b6000806040838503121561130657600080fd5b823561131181610f23565b946020939093013593505050565b60008060006060848603121561133457600080fd5b833561133f81610f23565b9250602084013561134f81610f23565b929592945050506040919091013590565b6000806000806080858703121561137657600080fd5b843561138181610f23565b9350602085013561139181610f23565b925060408501356113a181610f23565b9396929550929360600135925050565b600080600080608085870312156113c757600080fd5b84356113d281610f23565b93506020850135925060408501359150606085013567ffffffffffffffff8111156113fc57600080fd5b6114088782880161103c565b91505092959194509250565b6000806040838503121561142757600080fd5b50508051602090910151909290915056fea264697066735822122002d0219beb8676a13f2c86e79246f9b974b7fc22b9374067fa3536150410ae3c64736f6c63430008150033",
"sourceMap": "464:7332:50:-:0;;;731:59;;;;;;;;;-1:-1:-1;755:28:50;772:10;755:16;:28::i;:::-;464:7332;;4883:1190:28;-1:-1:-1;;;;;5793:26:28;-1:-1:-1;;5876:29:28;;;5793:26;6031:1;5991:38;6031:1;;5980:63;4883:1190;:::o;464:7332:50:-;;;;;;;",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x6080604052600436106100865760003560e01c8063715018a611610059578063715018a6146100dd5780638da5cb5b146100e5578063f04e283e14610116578063f2fde38b14610129578063fee81cf41461013c57600080fd5b8063256929621461008b5780632b492640146100955780633f7d7bc9146100b557806354d1f13d146100d5575b600080fd5b61009361017d565b005b3480156100a157600080fd5b506100936100b0366004610e5e565b6101cd565b3480156100c157600080fd5b506100936100d0366004610f38565b610c36565b610093610c5c565b610093610c98565b3480156100f157600080fd5b50638b78c6d819546040516001600160a01b0390911681526020015b60405180910390f35b610093610124366004610f88565b610cac565b610093610137366004610f88565b610cec565b34801561014857600080fd5b5061016f610157366004610f88565b63389a75e1600c908152600091909152602090205490565b60405190815260200161010d565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b8281146101ed57604051633a89615b60e01b815260040160405180910390fd5b6000805b82811015610c2e5785858281811061020b5761020b610fac565b919091013560f81c92506000905082600981111561022b5761022b610fc2565b600981111561023c5761023c610fc2565b14610c2e5760058260ff16600981111561025857610258610fc2565b600981111561026957610269610fc2565b036103975761029d84848381811061028357610283610fac565b90506020028101906102959190610fd8565b610120610d13565b60008060008060008888878181106102b7576102b7610fac565b90506020028101906102c99190610fd8565b8101906102d691906110c9565b6040805160a0810182526001600160a01b03871660608201908152608082018790528152602080820186905281830185905282518084018452308152908101879052915163187945bd60e11b8152969b5094995092975090955093506e22d473030f116ddee9f6b43ac78ba3926330f28b7a9261035b9290913390879060040161117c565b600060405180830381600087803b15801561037557600080fd5b505af1158015610389573d6000803e3d6000fd5b505050505050505050610c26565b60068260ff1660098111156103ae576103ae610fc2565b60098111156103bf576103bf610fc2565b03610546576103f38484838181106103d9576103d9610fac565b90506020028101906103eb9190610fd8565b610140610d13565b60008060008060008089898881811061040e5761040e610fac565b90506020028101906104209190610fd8565b81019061042d9190611200565b9550955095509550955095506e22d473030f116ddee9f6b43ac78ba36001600160a01b0316632b67b57033604051806060016040528060405180608001604052808c6001600160a01b031681526020016104908c6001600160a01b038016610d41565b6001600160a01b031681526020016104ae8b65ffffffffffff610d41565b65ffffffffffff1681526020016104cd8a65ffffffffffff8016610d41565b65ffffffffffff16905281523060208201526040908101879052516001600160e01b031960e085901b1681526105099291908690600401611275565b600060405180830381600087803b15801561052357600080fd5b505af1158015610537573d6000803e3d6000fd5b50505050505050505050610c26565b60078260ff16600981111561055d5761055d610fc2565b600981111561056e5761056e610fc2565b03610679576105a184848381811061058857610588610fac565b905060200281019061059a9190610fd8565b6040610d13565b6000808585848181106105b6576105b6610fac565b90506020028101906105c89190610fd8565b8101906105d591906112f3565b90925090506e22d473030f116ddee9f6b43ac78ba36336c785163330610602856001600160a01b03610d41565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529183166024830152821660448201529085166064820152608401600060405180830381600087803b15801561065a57600080fd5b505af115801561066e573d6000803e3d6000fd5b505050505050610c26565b60018260ff16600981111561069057610690610fc2565b60098111156106a1576106a1610fc2565b03610784576106d48484838181106106bb576106bb610fac565b90506020028101906106cd9190610fd8565b6060610d13565b60008060008686858181106106eb576106eb610fac565b90506020028101906106fd9190610fd8565b81019061070a919061131f565b60405163f970c3b760e01b81526001600160a01b0380841660048301523360248301526044820183905293965091945092509084169063f970c3b7906064015b600060405180830381600087803b15801561076457600080fd5b505af1158015610778573d6000803e3d6000fd5b50505050505050610c26565b60028260ff16600981111561079b5761079b610fc2565b60098111156107ac576107ac610fc2565b0361089c576107df8484838181106107c6576107c6610fac565b90506020028101906107d89190610fd8565b6080610d13565b6000806000808787868181106107f7576107f7610fac565b90506020028101906108099190610fd8565b8101906108169190611360565b604051635820ba6360e01b81526001600160a01b038085166004830152336024830152808416604483015260648201839052949850929650909450925090851690635820ba63906084015b600060405180830381600087803b15801561087b57600080fd5b505af115801561088f573d6000803e3d6000fd5b5050505050505050610c26565b60038260ff1660098111156108b3576108b3610fc2565b60098111156108c4576108c4610fc2565b03610964576108de8484838181106107c6576107c6610fac565b6000806000808787868181106108f6576108f6610fac565b90506020028101906109089190610fd8565b8101906109159190611360565b6040516349a66ca360e01b81526001600160a01b0380851660048301523360248301528084166044830152606482018390529498509296509094509250908516906349a66ca390608401610861565b60048260ff16600981111561097b5761097b610fc2565b600981111561098c5761098c610fc2565b03610a20576109a68484838181106106bb576106bb610fac565b60008060008686858181106109bd576109bd610fac565b90506020028101906109cf9190610fd8565b8101906109dc919061131f565b604051634fa7391960e01b81526001600160a01b03808416600483015233602483015260448201839052939650919450925090841690634fa739199060640161074a565b60088260ff166009811115610a3757610a37610fc2565b6009811115610a4857610a48610fc2565b03610b8657610a7c848483818110610a6257610a62610fac565b9050602002810190610a749190610fd8565b610100610d13565b600080600080878786818110610a9457610a94610fac565b9050602002810190610aa69190610fd8565b810190610ab391906113b1565b935093509350935060008082806020019051810190610ad29190611414565b91509150600083604081518110610aeb57610aeb610fac565b016020015160405163d505accf60e01b8152336004820152306024820152604481018890526064810187905260f89190911c6084820181905260a4820185905260c4820184905291506001600160a01b0388169063d505accf9060e401600060405180830381600087803b158015610b6257600080fd5b505af1158015610b76573d6000803e3d6000fd5b5050505050505050505050610c26565b60098260ff166009811115610b9d57610b9d610fc2565b6009811115610bae57610bae610fc2565b03610c2657610bc884848381811061058857610588610fac565b600080858584818110610bdd57610bdd610fac565b9050602002810190610bef9190610fd8565b810190610bfc91906112f3565b91509150816001600160a01b03163b600003610c1757600080fd5b610c2382333084610d6b565b50505b6001016101f1565b505050505050565b610c3e610dbf565b610c57838383610c4f576000610dda565b600019610dda565b505050565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b610ca0610dbf565b610caa6000610e20565b565b610cb4610dbf565b63389a75e1600c52806000526020600c208054421115610cdc57636f5e88186000526004601cfd5b60009055610ce981610e20565b50565b610cf4610dbf565b8060601b610d0a57637448fbae6000526004601cfd5b610ce981610e20565b808214610c575760405163582379b960e11b8152600481018290526024810183905260440160405180910390fd5b600082821015610d645760405163c4bd89a960e01b815260040160405180910390fd5b5090919050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af13d156001600051141716610db157637939f4246000526004601cfd5b600060605260405250505050565b638b78c6d819543314610caa576382b429006000526004601cfd5b816014528060345263095ea7b360601b60005260206000604460106000875af13d156001600051141716610e1657633e3f8f736000526004601cfd5b6000603452505050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b60008060008060408587031215610e7457600080fd5b843567ffffffffffffffff80821115610e8c57600080fd5b818701915087601f830112610ea057600080fd5b813581811115610eaf57600080fd5b886020828501011115610ec157600080fd5b602092830196509450908601359080821115610edc57600080fd5b818701915087601f830112610ef057600080fd5b813581811115610eff57600080fd5b8860208260051b8501011115610f1457600080fd5b95989497505060200194505050565b6001600160a01b0381168114610ce957600080fd5b600080600060608486031215610f4d57600080fd5b8335610f5881610f23565b92506020840135610f6881610f23565b915060408401358015158114610f7d57600080fd5b809150509250925092565b600060208284031215610f9a57600080fd5b8135610fa581610f23565b9392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b6000808335601e19843603018112610fef57600080fd5b83018035915067ffffffffffffffff82111561100a57600080fd5b60200191503681900382131561101f57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261104d57600080fd5b813567ffffffffffffffff8082111561106857611068611026565b604051601f8301601f19908116603f0116810190828211818310171561109057611090611026565b816040528381528660208588010111156110a957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a086880312156110e157600080fd5b85356110ec81610f23565b9450602086013593506040860135925060608601359150608086013567ffffffffffffffff81111561111d57600080fd5b6111298882890161103c565b9150509295509295909350565b6000815180845260005b8181101561115c57602081850181015186830182015201611140565b506000602082860101526020601f19601f83011685010191505092915050565b600061010061119f83885180516001600160a01b03168252602090810151910152565b60208701516040840152604087015160608401526111d3608084018780516001600160a01b03168252602090810151910152565b6001600160a01b03851660c084015260e083018190526111f581840185611136565b979650505050505050565b60008060008060008060c0878903121561121957600080fd5b863561122481610f23565b95506020870135945060408701359350606087013592506080870135915060a087013567ffffffffffffffff81111561125c57600080fd5b61126889828a0161103c565b9150509295509295509295565b600061010060018060a01b0380871684528551818151166020860152816020820151166040860152604081015165ffffffffffff80821660608801528060608401511660808801525050508060208701511660a085015250604085015160c08401528060e08401526112e981840185611136565b9695505050505050565b6000806040838503121561130657600080fd5b823561131181610f23565b946020939093013593505050565b60008060006060848603121561133457600080fd5b833561133f81610f23565b9250602084013561134f81610f23565b929592945050506040919091013590565b6000806000806080858703121561137657600080fd5b843561138181610f23565b9350602085013561139181610f23565b925060408501356113a181610f23565b9396929550929360600135925050565b600080600080608085870312156113c757600080fd5b84356113d281610f23565b93506020850135925060408501359150606085013567ffffffffffffffff8111156113fc57600080fd5b6114088782880161103c565b91505092959194509250565b6000806040838503121561142757600080fd5b50508051602090910151909290915056fea264697066735822122002d0219beb8676a13f2c86e79246f9b974b7fc22b9374067fa3536150410ae3c64736f6c63430008150033",
"sourceMap": "464:7332:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9021:617:28;;;:::i;:::-;;1167:5973:50;;;;;;;;;;-1:-1:-1;1167:5973:50;;;;;:::i;:::-;;:::i;7146:198::-;;;;;;;;;;-1:-1:-1;7146:198:50;;;;;:::i;:::-;;:::i;9720:456:28:-;;;:::i;8762:100::-;;;:::i;11408:182::-;;;;;;;;;;-1:-1:-1;;;11556:18:28;11408:182;;-1:-1:-1;;;;;1973:32:53;;;1955:51;;1943:2;1928:18;11408:182:28;;;;;;;;10363:708;;;;;;:::i;:::-;;:::i;8348:349::-;;;;;;:::i;:::-;;:::i;11693:435::-;;;;;;;;;;-1:-1:-1;11693:435:28;;;;;:::i;:::-;11963:19;11957:4;11950:33;;;11812:14;11996:26;;;;12106:4;12090:21;;12084:28;;11693:435;;;;2415:25:53;;;2403:2;2388:18;11693:435:28;2269:177:53;9021:617:28;9114:15;7972:9;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;1167:5973:50:-;1308:53;;;1304:90;;1370:24;;-1:-1:-1;;;1370:24:50;;;;;;;;;;;1304:90;1408:16;1443:9;1438:5686;1454:29;;;1438:5686;;;1527:17;;1545:1;1527:20;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1596:18:50;;-1:-1:-1;1527:20:50;1570:22;;;;;;;;:::i;:::-;:44;;;;;;;;:::i;:::-;1566:5544;1638:5;1566:5544;1698:37;1683:10;1672:22;;;;;;;;;;:::i;:::-;:63;;;;;;;;:::i;:::-;;1668:5442;;1759:54;1786:18;;1805:1;1786:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1809:3;1759:26;:54::i;:::-;1836:14;1852:15;1869:14;1885:17;1904:23;1966:18;;1985:1;1966:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1955:78;;;;;;;:::i;:::-;2107:267;;;2186:69;;;;;-1:-1:-1;;;;;2186:69:50;;2107:267;;;2186:69;;;;;;;;;2107:267;;2186:69;2107:267;;;;;;;;;;;;2400:90;;;;;;;2457:4;2400:90;;;;;;;;2055:529;;-1:-1:-1;;;2055:529:50;;1835:198;;-1:-1:-1;1835:198:50;;-1:-1:-1;1835:198:50;;-1:-1:-1;1835:198:50;;-1:-1:-1;1835:198:50;-1:-1:-1;539:42:50;;2055:26;;:529;;2107:267;;2516:10;;1835:198;;2055:529;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1737:866;;;;;1668:5442;;;2639:25;2624:10;2613:22;;;;;;;;;;:::i;:::-;:51;;;;;;;;:::i;:::-;;2609:4501;;2688:54;2715:18;;2734:1;2715:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;2738:3;2688:26;:54::i;:::-;2790:14;2830:15;2871:19;2916:14;2956:17;2999:23;3058:18;;3077:1;3058:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;3047:87;;;;;;;:::i;:::-;2764:370;;;;;;;;;;;;539:42;-1:-1:-1;;;;;3156:14:50;;3196:10;3232:603;;;;;;;;3303:401;;;;;;;;3377:6;-1:-1:-1;;;;;3303:401:50;;;;;3433:45;3451:7;-1:-1:-1;;;;;3433:45:50;;:17;:45::i;:::-;-1:-1:-1;;;;;3303:401:50;;;;;3532:48;3550:11;3563:16;3532:17;:48::i;:::-;3303:401;;;;;;3629:43;3647:6;3655:16;3629:43;;:17;:43::i;:::-;3303:401;;;;3232:603;;3751:4;3232:603;;;;;;;;;;;3156:737;-1:-1:-1;;;;;;3156:737:50;;;;;;;;;;;3861:10;;3156:737;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2666:1246;;;;;;2609:4501;;;3948:31;3933:10;3922:22;;;;;;;;;;:::i;:::-;:57;;;;;;;;:::i;:::-;;3918:3192;;4003:53;4030:18;;4049:1;4030:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4053:2;4003:26;:53::i;:::-;4079:14;4095:15;4125:18;;4144:1;4125:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4114:53;;;;;;;:::i;:::-;4078:89;;-1:-1:-1;4078:89:50;-1:-1:-1;539:42:50;4189:20;4235:10;4255:4;4270:45;4078:89;-1:-1:-1;;;;;4270:17:50;:45::i;:::-;4189:157;;-1:-1:-1;;;;;;4189:157:50;;;;;;;-1:-1:-1;;;;;8514:15:53;;;4189:157:50;;;8496:34:53;8566:15;;;8546:18;;;8539:43;8618:15;;8598:18;;;8591:43;8670:15;;;8650:18;;;8643:43;8430:19;;4189:157:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3981:384;;3918:3192;;;4401:28;4386:10;4375:22;;;;;;;;;;:::i;:::-;:54;;;;;;;;:::i;:::-;;4371:2739;;4453:53;4480:18;;4499:1;4480:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4503:2;4453:26;:53::i;:::-;4529:20;4551:22;4575:15;4629:18;;4648:1;4629:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4618:58;;;;;;;:::i;:::-;4698:71;;-1:-1:-1;;;4698:71:50;;-1:-1:-1;;;;;9471:15:53;;;4698:71:50;;;9453:34:53;4749:10:50;9503:18:53;;;9496:43;9555:18;;;9548:34;;;4528:148:50;;-1:-1:-1;4528:148:50;;-1:-1:-1;4528:148:50;-1:-1:-1;4698:32:50;;;;;;9388:18:53;;4698:71:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4431:357;;;4371:2739;;;4824:29;4809:10;4798:22;;;;;;;;;;:::i;:::-;:55;;;;;;;;:::i;:::-;;4794:2316;;4877:54;4904:18;;4923:1;4904:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;4927:3;4877:26;:54::i;:::-;4954:20;4976:22;5000:11;5013:15;5067:18;;5086:1;5067:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;5056:67;;;;;;;:::i;:::-;5145:77;;-1:-1:-1;;;5145:77:50;;-1:-1:-1;;;;;10546:15:53;;;5145:77:50;;;10528:34:53;5197:10:50;10578:18:53;;;10571:43;10650:15;;;10630:18;;;10623:43;10682:18;;;10675:34;;;4953:170:50;;-1:-1:-1;4953:170:50;;-1:-1:-1;4953:170:50;;-1:-1:-1;4953:170:50;-1:-1:-1;5145:33:50;;;;;;10462:19:53;;5145:77:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4855:386;;;;4794:2316;;;5277:23;5262:10;5251:22;;;;;;;;;;:::i;:::-;:49;;;;;;;;:::i;:::-;;5247:1863;;5324:54;5351:18;;5370:1;5351:21;;;;;;;:::i;5324:54::-;5401:20;5423:22;5447:11;5460:15;5514:18;;5533:1;5514:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;5503:67;;;;;;;:::i;:::-;5592:71;;-1:-1:-1;;;5592:71:50;;-1:-1:-1;;;;;10546:15:53;;;5592:71:50;;;10528:34:53;5638:10:50;10578:18:53;;;10571:43;10650:15;;;10630:18;;;10623:43;10682:18;;;10675:34;;;5400:170:50;;-1:-1:-1;5400:170:50;;-1:-1:-1;5400:170:50;;-1:-1:-1;5400:170:50;-1:-1:-1;5592:27:50;;;;;;10462:19:53;;5592:71:50;10239:476:53;5247:1863:50;5718:23;5703:10;5692:22;;;;;;;;;;:::i;:::-;:49;;;;;;;;:::i;:::-;;5688:1422;;5765:53;5792:18;;5811:1;5792:21;;;;;;;:::i;5765:53::-;5841:20;5863:22;5887:15;5941:18;;5960:1;5941:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;5930:58;;;;;;;:::i;:::-;6010:66;;-1:-1:-1;;;6010:66:50;;-1:-1:-1;;;;;9471:15:53;;;6010:66:50;;;9453:34:53;6056:10:50;9503:18:53;;;9496:43;9555:18;;;9548:34;;;5840:148:50;;-1:-1:-1;5840:148:50;;-1:-1:-1;5840:148:50;-1:-1:-1;6010:27:50;;;;;;9388:18:53;;6010:66:50;9193:395:53;5688:1422:50;6131:23;6116:10;6105:22;;;;;;;;;;:::i;:::-;:49;;;;;;;;:::i;:::-;;6101:1009;;6178:54;6205:18;;6224:1;6205:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6228:3;6178:26;:54::i;:::-;6255:12;6269:15;6286:17;6305:23;6367:18;;6386:1;6367:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6356:67;;;;;;;:::i;:::-;6254:169;;;;;;;;6446:10;6458;6483;6472:42;;;;;;;;;;;;:::i;:::-;6445:69;;;;6536:8;6553:10;6564:2;6553:14;;;;;;;;:::i;:::-;;;;;6590:72;;-1:-1:-1;;;6590:72:50;;6604:10;6590:72;;;11936:34:53;6624:4:50;11986:18:53;;;11979:43;12038:18;;;12031:34;;;12081:18;;;12074:34;;;6553:14:50;;;;;12124:19:53;;;12117:46;;;12179:19;;;12172:35;;;12223:19;;;12216:35;;;6553:14:50;-1:-1:-1;;;;;;6590:13:50;;;;;11870:19:53;;6590:72:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6156:525;;;;;;;6101:1009;;;6717:29;6702:10;6691:22;;;;;;;;;;:::i;:::-;:55;;;;;;;;:::i;:::-;;6687:423;;6770:53;6797:18;;6816:1;6797:21;;;;;;;:::i;6770:53::-;6846:14;6862:15;6892:18;;6911:1;6892:21;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6881:53;;;;;;;:::i;:::-;6845:89;;;;6960:6;-1:-1:-1;;;;;6960:18:50;;6982:1;6960:23;6956:37;;6985:8;;;6956:37;7015:76;7048:6;7056:10;7076:4;7083:7;7015:32;:76::i;:::-;6748:362;;6687:423;1485:3;;1438:5686;;;;1280:5854;1167:5973;;;;:::o;7146:198::-;12517:13:28;:11;:13::i;:::-;7256:81:50::1;7284:6;7292:13;7307:5;:29;;7335:1;7256:27;:81::i;7307:29::-;-1:-1:-1::0;;7256:27:50::1;:81::i;:::-;7146:198:::0;;;:::o;9720:456:28:-;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;8762:100::-;12517:13;:11;:13::i;:::-;8834:21:::1;8852:1;8834:9;:21::i;:::-;8762:100::o:0;10363:708::-;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;10999:23:::0;;11041::::1;11051:12:::0;11041:9:::1;: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;7350:277:50:-:0;7472:43;;;7468:153;;7538:72;;-1:-1:-1;;;7538:72:50;;;;;12436:25:53;;;12477:18;;;12470:34;;;12409:18;;7538:72:50;;;;;;;7633:161;7711:7;7743:3;7734:6;:12;7730:37;;;7755:12;;-1:-1:-1;;;7755:12:50;;;;;;;;;;;7730:37;-1:-1:-1;7784:3:50;;7633:161;-1:-1:-1;7633:161:50:o;8181:1139:30:-;8364:4;8358:11;8429:6;8423:4;8416:20;8494:2;8488:4;8481:16;8559:4;8555:2;8551:13;8545:4;8538:27;-1:-1:-1;;;8615:4:30;8608:48;9022:4;9016;9010;9004;9001:1;8994:5;8987;8982:45;8916:16;8909:24;8905:1;8898:4;8892:11;8889:18;8886:48;8801:244;8774:404;;9091:10;9085:4;9078:24;9159:4;9153;9146:18;8774:404;9204:1;9198:4;9191:15;9260:4;9253:15;-1:-1:-1;;;;8181:1139:30:o;7292:355:28:-;-1:-1:-1;;7498:18:28;7488:8;7485:32;7475:156;;7550:10;7544:4;7537:24;7612:4;7606;7599:18;14171:936:30;14333:2;14327:4;14320:16;14390:6;14384:4;14377:20;-1:-1:-1;;;14449:4:30;14442:48;14843:4;14837;14831;14825;14822:1;14815:5;14808;14803:45;14737:16;14730:24;14726:1;14719:4;14713:11;14710:18;14707:48;14622:244;14595:399;;14912:10;14906:4;14899:24;14975:4;14969;14962:18;14595:399;15020:1;15014:4;15007:15;14171:936;;;:::o;6145:1089:28:-;-1:-1:-1;;7093:16:28;;-1:-1:-1;;;;;6941:26:28;;;;;;7053:38;7050:1;;7042:78;7177:27;6145:1089::o;14:1092:53:-;131:6;139;147;155;208:2;196:9;187:7;183:23;179:32;176:52;;;224:1;221;214:12;176:52;264:9;251:23;293:18;334:2;326:6;323:14;320:34;;;350:1;347;340:12;320:34;388:6;377:9;373:22;363:32;;433:7;426:4;422:2;418:13;414:27;404:55;;455:1;452;445:12;404:55;495:2;482:16;521:2;513:6;510:14;507:34;;;537:1;534;527:12;507:34;584:7;577:4;568:6;564:2;560:15;556:26;553:39;550:59;;;605:1;602;595:12;550:59;636:4;628:13;;;;-1:-1:-1;660:6:53;-1:-1:-1;704:20:53;;;691:34;;737:16;;;734:36;;;766:1;763;756:12;734:36;804:8;793:9;789:24;779:34;;851:7;844:4;840:2;836:13;832:27;822:55;;873:1;870;863:12;822:55;915:2;902:16;943:2;933:8;930:16;927:36;;;959:1;956;949:12;927:36;1016:7;1009:4;997:8;994:1;990:16;986:2;982:25;978:36;975:49;972:69;;;1037:1;1034;1027:12;972:69;14:1092;;;;-1:-1:-1;;1068:4:53;1060:13;;-1:-1:-1;;;14:1092:53:o;1111:131::-;-1:-1:-1;;;;;1186:31:53;;1176:42;;1166:70;;1232:1;1229;1222:12;1247:557;1321:6;1329;1337;1390:2;1378:9;1369:7;1365:23;1361:32;1358:52;;;1406:1;1403;1396:12;1358:52;1445:9;1432:23;1464:31;1489:5;1464:31;:::i;:::-;1514:5;-1:-1:-1;1571:2:53;1556:18;;1543:32;1584:33;1543:32;1584:33;:::i;:::-;1636:7;-1:-1:-1;1695:2:53;1680:18;;1667:32;1737:15;;1730:23;1718:36;;1708:64;;1768:1;1765;1758:12;1708:64;1791:7;1781:17;;;1247:557;;;;;:::o;2017:247::-;2076:6;2129:2;2117:9;2108:7;2104:23;2100:32;2097:52;;;2145:1;2142;2135:12;2097:52;2184:9;2171:23;2203:31;2228:5;2203:31;:::i;:::-;2253:5;2017:247;-1:-1:-1;;;2017:247:53:o;2451:127::-;2512:10;2507:3;2503:20;2500:1;2493:31;2543:4;2540:1;2533:15;2567:4;2564:1;2557:15;2583:127;2644:10;2639:3;2635:20;2632:1;2625:31;2675:4;2672:1;2665:15;2699:4;2696:1;2689:15;2715:521;2792:4;2798:6;2858:11;2845:25;2952:2;2948:7;2937:8;2921:14;2917:29;2913:43;2893:18;2889:68;2879:96;;2971:1;2968;2961:12;2879:96;2998:33;;3050:20;;;-1:-1:-1;3093:18:53;3082:30;;3079:50;;;3125:1;3122;3115:12;3079:50;3158:4;3146:17;;-1:-1:-1;3189:14:53;3185:27;;;3175:38;;3172:58;;;3226:1;3223;3216:12;3172:58;2715:521;;;;;:::o;3241:127::-;3302:10;3297:3;3293:20;3290:1;3283:31;3333:4;3330:1;3323:15;3357:4;3354:1;3347:15;3373:718;3415:5;3468:3;3461:4;3453:6;3449:17;3445:27;3435:55;;3486:1;3483;3476:12;3435:55;3522:6;3509:20;3548:18;3585:2;3581;3578:10;3575:36;;;3591:18;;:::i;:::-;3666:2;3660:9;3634:2;3720:13;;-1:-1:-1;;3716:22:53;;;3740:2;3712:31;3708:40;3696:53;;;3764:18;;;3784:22;;;3761:46;3758:72;;;3810:18;;:::i;:::-;3850:10;3846:2;3839:22;3885:2;3877:6;3870:18;3931:3;3924:4;3919:2;3911:6;3907:15;3903:26;3900:35;3897:55;;;3948:1;3945;3938:12;3897:55;4012:2;4005:4;3997:6;3993:17;3986:4;3978:6;3974:17;3961:54;4059:1;4052:4;4047:2;4039:6;4035:15;4031:26;4024:37;4079:6;4070:15;;;;;;3373:718;;;;:::o;4096:669::-;4208:6;4216;4224;4232;4240;4293:3;4281:9;4272:7;4268:23;4264:33;4261:53;;;4310:1;4307;4300:12;4261:53;4349:9;4336:23;4368:31;4393:5;4368:31;:::i;:::-;4418:5;-1:-1:-1;4470:2:53;4455:18;;4442:32;;-1:-1:-1;4521:2:53;4506:18;;4493:32;;-1:-1:-1;4572:2:53;4557:18;;4544:32;;-1:-1:-1;4627:3:53;4612:19;;4599:33;4655:18;4644:30;;4641:50;;;4687:1;4684;4677:12;4641:50;4710:49;4751:7;4742:6;4731:9;4727:22;4710:49;:::i;:::-;4700:59;;;4096:669;;;;;;;;:::o;4958:422::-;4999:3;5037:5;5031:12;5064:6;5059:3;5052:19;5089:1;5099:162;5113:6;5110:1;5107:13;5099:162;;;5175:4;5231:13;;;5227:22;;5221:29;5203:11;;;5199:20;;5192:59;5128:12;5099:162;;;5103:3;5306:1;5299:4;5290:6;5285:3;5281:16;5277:27;5270:38;5369:4;5362:2;5358:7;5353:2;5345:6;5341:15;5337:29;5332:3;5328:39;5324:50;5317:57;;;4958:422;;;;:::o;5385:830::-;5739:4;5768:3;5780:60;5830:9;5821:6;5815:13;4856:12;;-1:-1:-1;;;;;4852:38:53;4840:51;;4940:4;4929:16;;;4923:23;4907:14;;4900:47;4770:183;5780:60;5896:4;5888:6;5884:17;5878:24;5871:4;5860:9;5856:20;5849:54;5959:4;5951:6;5947:17;5941:24;5934:4;5923:9;5919:20;5912:54;5975:63;6033:3;6022:9;6018:19;6010:6;4856:12;;-1:-1:-1;;;;;4852:38:53;4840:51;;4940:4;4929:16;;;4923:23;4907:14;;4900:47;4770:183;5975:63;-1:-1:-1;;;;;6075:32:53;;6069:3;6054:19;;6047:61;6139:3;6124:19;;6117:31;;;6165:44;6190:18;;;6182:6;6165:44;:::i;:::-;6157:52;5385:830;-1:-1:-1;;;;;;;5385:830:53:o;6220:738::-;6341:6;6349;6357;6365;6373;6381;6434:3;6422:9;6413:7;6409:23;6405:33;6402:53;;;6451:1;6448;6441:12;6402:53;6490:9;6477:23;6509:31;6534:5;6509:31;:::i;:::-;6559:5;-1:-1:-1;6611:2:53;6596:18;;6583:32;;-1:-1:-1;6662:2:53;6647:18;;6634:32;;-1:-1:-1;6713:2:53;6698:18;;6685:32;;-1:-1:-1;6764:3:53;6749:19;;6736:33;;-1:-1:-1;6820:3:53;6805:19;;6792:33;6848:18;6837:30;;6834:50;;;6880:1;6877;6870:12;6834:50;6903:49;6944:7;6935:6;6924:9;6920:22;6903:49;:::i;:::-;6893:59;;;6220:738;;;;;;;;:::o;6963:931::-;7191:4;7220:3;7259:1;7255;7250:3;7246:11;7242:19;7300:2;7292:6;7288:15;7277:9;7270:34;7329:6;7323:13;7387:2;7382;7376:9;7372:18;7367:2;7356:9;7352:18;7345:46;7451:2;7445;7441;7437:11;7431:18;7427:27;7422:2;7411:9;7407:18;7400:55;7498:2;7494;7490:11;7484:18;7521:14;7589:2;7575:12;7571:21;7566:2;7555:9;7551:18;7544:49;7654:2;7648;7644;7640:11;7634:18;7630:27;7624:3;7613:9;7609:19;7602:56;;;;7723:2;7717;7709:6;7705:15;7699:22;7695:31;7689:3;7678:9;7674:19;7667:60;;7782:2;7774:6;7770:15;7764:22;7758:3;7747:9;7743:19;7736:51;7824:2;7818:3;7807:9;7803:19;7796:31;7844:44;7884:2;7873:9;7869:18;7861:6;7844:44;:::i;:::-;7836:52;6963:931;-1:-1:-1;;;;;;6963:931:53:o;7899:323::-;7975:6;7983;8036:2;8024:9;8015:7;8011:23;8007:32;8004:52;;;8052:1;8049;8042:12;8004:52;8091:9;8078:23;8110:31;8135:5;8110:31;:::i;:::-;8160:5;8212:2;8197:18;;;;8184:32;;-1:-1:-1;;;7899:323:53:o;8697:491::-;8809:6;8817;8825;8878:2;8866:9;8857:7;8853:23;8849:32;8846:52;;;8894:1;8891;8884:12;8846:52;8933:9;8920:23;8952:31;8977:5;8952:31;:::i;:::-;9002:5;-1:-1:-1;9059:2:53;9044:18;;9031:32;9072:33;9031:32;9072:33;:::i;:::-;8697:491;;9124:7;;-1:-1:-1;;;9178:2:53;9163:18;;;;9150:32;;8697:491::o;9593:641::-;9722:6;9730;9738;9746;9799:3;9787:9;9778:7;9774:23;9770:33;9767:53;;;9816:1;9813;9806:12;9767:53;9855:9;9842:23;9874:31;9899:5;9874:31;:::i;:::-;9924:5;-1:-1:-1;9981:2:53;9966:18;;9953:32;9994:33;9953:32;9994:33;:::i;:::-;10046:7;-1:-1:-1;10105:2:53;10090:18;;10077:32;10118:33;10077:32;10118:33;:::i;:::-;9593:641;;;;-1:-1:-1;10170:7:53;;10224:2;10209:18;10196:32;;-1:-1:-1;;9593:641:53:o;10720:612::-;10835:6;10843;10851;10859;10912:3;10900:9;10891:7;10887:23;10883:33;10880:53;;;10929:1;10926;10919:12;10880:53;10968:9;10955:23;10987:31;11012:5;10987:31;:::i;:::-;11037:5;-1:-1:-1;11089:2:53;11074:18;;11061:32;;-1:-1:-1;11140:2:53;11125:18;;11112:32;;-1:-1:-1;11195:2:53;11180:18;;11167:32;11222:18;11211:30;;11208:50;;;11254:1;11251;11244:12;11208:50;11277:49;11318:7;11309:6;11298:9;11294:22;11277:49;:::i;:::-;11267:59;;;10720:612;;;;;;;:::o;11337:245::-;11416:6;11424;11477:2;11465:9;11456:7;11452:23;11448:32;11445:52;;;11493:1;11490;11483:12;11445:52;-1:-1:-1;;11516:16:53;;11572:2;11557:18;;;11551:25;11516:16;;11551:25;;-1:-1:-1;11337:245:53:o",
"linkReferences": {}
},
"methodIdentifiers": {
"approveTokenForVault(address,address,bool)": "3f7d7bc9",
"cancelOwnershipHandover()": "54d1f13d",
"completeOwnershipHandover(address)": "f04e283e",
"multiInteract(bytes,bytes[])": "2b492640",
"owner()": "8da5cb5b",
"ownershipHandoverExpiresAt(address)": "fee81cf4",
"renounceOwnership()": "715018a6",
"requestOwnershipHandover()": "25692962",
"transferOwnership(address)": "f2fde38b"
},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expectedLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidEncodedParameterLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MisMatchedInputsLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewOwnerIsZeroAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoHandoverRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsafeCast\",\"type\":\"error\"},{\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isMax\",\"type\":\"bool\"}],\"name\":\"approveTokenForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"bytes\",\"name\":\"_packedOperations\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"_encodedParameters\",\"type\":\"bytes[]\"}],\"name\":\"multiInteract\",\"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\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AlreadyInitialized()\":[{\"details\":\"Cannot double-initialize.\"}],\"NewOwnerIsZeroAddress()\":[{\"details\":\"The `newOwner` cannot be the zero address.\"}],\"NoHandoverRequest()\":[{\"details\":\"The `pendingOwner` does not have a valid handover request.\"}],\"Unauthorized()\":[{\"details\":\"The caller is not authorized to call the function.\"}]},\"events\":{\"OwnershipHandoverCanceled(address)\":{\"details\":\"The ownership handover to `pendingOwner` has been canceled.\"},\"OwnershipHandoverRequested(address)\":{\"details\":\"An ownership handover to `pendingOwner` has been requested.\"},\"OwnershipTransferred(address,address)\":{\"details\":\"The ownership is transferred from `oldOwner` to `newOwner`. This event is intentionally kept the same as OpenZeppelin's Ownable to be compatible with indexers and [EIP-173](https://eips.ethereum.org/EIPS/eip-173), despite it not being as lightweight as a single argument event.\"}},\"kind\":\"dev\",\"methods\":{\"cancelOwnershipHandover()\":{\"details\":\"Cancels the two-step ownership handover to the caller, if any.\"},\"completeOwnershipHandover(address)\":{\"details\":\"Allows the owner to complete the two-step ownership handover to `pendingOwner`. Reverts if there is no existing ownership handover requested by `pendingOwner`.\"},\"owner()\":{\"details\":\"Returns the owner of the contract.\"},\"ownershipHandoverExpiresAt(address)\":{\"details\":\"Returns the expiry timestamp for the two-step ownership handover to `pendingOwner`.\"},\"renounceOwnership()\":{\"details\":\"Allows the owner to renounce their ownership.\"},\"requestOwnershipHandover()\":{\"details\":\"Request a two-step ownership handover to the caller. The request will automatically expire in 48 hours (172800 seconds) by default.\"},\"transferOwnership(address)\":{\"details\":\"Allows the owner to transfer the ownership to `newOwner`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/vaultRouter.sol\":\"VaultRouter\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts/=lib/protocol-core/lib/oracle-module/lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts/=lib/protocol-core/lib/openzeppelin-contracts/contracts/\",\":descent-collective/oracle-module/=lib/protocol-core/lib/oracle-module/src/\",\":descent-collective/protocol-core/=lib/protocol-core/src/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/protocol-core/lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-gas-snapshot/=lib/permit2/lib/forge-gas-snapshot/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/protocol-core/lib/openzeppelin-contracts/\",\":oracle-module/=lib/protocol-core/lib/oracle-module/\",\":permit2/=lib/permit2/src/\",\":protocol-core/=lib/protocol-core/\",\":solady/=lib/protocol-core/lib/solady/src/\",\":solmate/=lib/permit2/lib/solmate/\"]},\"sources\":{\"lib/permit2/src/interfaces/IAllowanceTransfer.sol\":{\"keccak256\":\"0x37f0ac203b6ef605c9533e1a739477e8e9dcea90710b40e645a367f8a21ace29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e0104d72aeaec1cd66cc232e7de7b7ead08608efcc179491b8a66387614670b0\",\"dweb:/ipfs/QmfAZDyuNC9FXXbnJUwqHNwmAK6uRrXxtWEytLsxjskPsN\"]},\"lib/permit2/src/interfaces/IEIP712.sol\":{\"keccak256\":\"0xfdccf2b9639070803cd0e4198427fb0df3cc452ca59bd3b8a0d957a9a4254138\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7c936ac42ce89e827db905a1544397f8bdf46db34cdb6aa1b90dea42fdb4c72\",\"dweb:/ipfs/QmVgurxo1N31qZqkPBirw9Z7S9tLYmv6jSwQp8R8ur2cBk\"]},\"lib/permit2/src/interfaces/IPermit2.sol\":{\"keccak256\":\"0xaa631cc9f53e699301d94233007110a345e6779011def484e8dd97b8fe0af771\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc0502cf19c9c18f320a3001201e89e350393b75837f6b7971de18b2de06f30d\",\"dweb:/ipfs/QmT9SfhdJ7VJNNrf94g4H5usyi7ShqWGx7Cqsz9jZTjX96\"]},\"lib/permit2/src/interfaces/ISignatureTransfer.sol\":{\"keccak256\":\"0xe6df9966f8841dc3958ee86169c89de97e7f614c81c28b9dc947b12d732df64e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d4eafdee7f48c3be8350a94eb6edd0bfb2af2c105df65787a77174f356c0317\",\"dweb:/ipfs/QmY1j2adeeAhNpn6cUuthemxGCdLXHTfyMh9yTKsY4mZ2d\"]},\"lib/protocol-core/lib/solady/src/auth/Ownable.sol\":{\"keccak256\":\"0xc208cdd9de02bbf4b5edad18b88e23a2be7ff56d2287d5649329dc7cda64b9a3\",\"license\":\"MIT\",\"urls\":[\"bz