@ensuro/account-abstraction 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-info.json +236 -1
- package/build/contracts/AccessControlAccount.sol/AccessControlAccount.json +85 -5
- package/build/contracts/AccessControlAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/AccessManagerAccount.sol/AccessManagerAccount.json +81 -5
- package/build/contracts/AccessManagerAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/ERC2771ForwarderAccount.sol/ERC2771ForwarderAccount.json +239 -204
- package/build/contracts/ERC2771ForwarderAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/dependencies/AccessManager.sol/AccessManager.json +8 -5
- package/build/contracts/dependencies/AccessManager.sol/artifacts.d.ts +27 -0
- package/build/contracts/dependencies/FrozenTime.sol/FrozenTime.json +8 -5
- package/build/contracts/dependencies/FrozenTime.sol/artifacts.d.ts +27 -0
- package/build/contracts/mock/ERC20With2771.sol/ERC20With2771.json +29 -5
- package/build/contracts/mock/ERC20With2771.sol/artifacts.d.ts +27 -0
- package/contracts/AccessControlAccount.sol +1 -1
- package/contracts/AccessManagerAccount.sol +1 -1
- package/contracts/ERC2771ForwarderAccount.sol +113 -88
- package/js/userOp.js +17 -36
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_format": "
|
|
2
|
+
"_format": "hh3-artifact-1",
|
|
3
3
|
"contractName": "AccessManagerAccount",
|
|
4
4
|
"sourceName": "contracts/AccessManagerAccount.sol",
|
|
5
5
|
"abi": [
|
|
@@ -207,6 +207,22 @@
|
|
|
207
207
|
"name": "ECDSAInvalidSignatureS",
|
|
208
208
|
"type": "error"
|
|
209
209
|
},
|
|
210
|
+
{
|
|
211
|
+
"inputs": [
|
|
212
|
+
{
|
|
213
|
+
"internalType": "uint256",
|
|
214
|
+
"name": "index",
|
|
215
|
+
"type": "uint256"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"internalType": "bytes",
|
|
219
|
+
"name": "error",
|
|
220
|
+
"type": "bytes"
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"name": "ExecuteError",
|
|
224
|
+
"type": "error"
|
|
225
|
+
},
|
|
210
226
|
{
|
|
211
227
|
"inputs": [],
|
|
212
228
|
"name": "FailedCall",
|
|
@@ -722,6 +738,36 @@
|
|
|
722
738
|
"stateMutability": "nonpayable",
|
|
723
739
|
"type": "function"
|
|
724
740
|
},
|
|
741
|
+
{
|
|
742
|
+
"inputs": [
|
|
743
|
+
{
|
|
744
|
+
"components": [
|
|
745
|
+
{
|
|
746
|
+
"internalType": "address",
|
|
747
|
+
"name": "target",
|
|
748
|
+
"type": "address"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"internalType": "uint256",
|
|
752
|
+
"name": "value",
|
|
753
|
+
"type": "uint256"
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
"internalType": "bytes",
|
|
757
|
+
"name": "data",
|
|
758
|
+
"type": "bytes"
|
|
759
|
+
}
|
|
760
|
+
],
|
|
761
|
+
"internalType": "struct BaseAccount.Call[]",
|
|
762
|
+
"name": "calls",
|
|
763
|
+
"type": "tuple[]"
|
|
764
|
+
}
|
|
765
|
+
],
|
|
766
|
+
"name": "executeBatch",
|
|
767
|
+
"outputs": [],
|
|
768
|
+
"stateMutability": "nonpayable",
|
|
769
|
+
"type": "function"
|
|
770
|
+
},
|
|
725
771
|
{
|
|
726
772
|
"inputs": [],
|
|
727
773
|
"name": "expiration",
|
|
@@ -1388,8 +1434,38 @@
|
|
|
1388
1434
|
"type": "receive"
|
|
1389
1435
|
}
|
|
1390
1436
|
],
|
|
1391
|
-
"bytecode": "0x60a060405234801561000f575f5ffd5b5060405161394a38038061394a83398101604081905261002e91610466565b806001600160a01b03811661005d57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100695f82818061007d565b5050506001600160a01b03166080526104ec565b5f6002600160401b03196001600160401b038616016100ba5760405163061c6a4360e21b81526001600160401b0386166004820152602401610054565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101af5763ffffffff85166101056102c3565b61010f91906104b2565b905060405180604001604052808265ffffffffffff16815260200161013f8663ffffffff166102d260201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610255565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101fb9166010000000000009091046001600160701b03169086906102db565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102cd42610381565b905090565b63ffffffff1690565b5f80806102f06001600160701b0387166103b7565b90505f61032b8563ffffffff168763ffffffff168463ffffffff1611610316575f610320565b61032088856104d0565b63ffffffff166103d5565b905063ffffffff811661033c6102c3565b61034691906104b2565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103b3576040516306dfcc6560e41b81526030600482015260248101839052604401610054565b5090565b5f806103cb6001600160701b0384166103e5565b5090949350505050565b8082118183180281185b92915050565b5f80806103f9846103f46102c3565b610406565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043e57828282610442565b815f5f5b9250925092509250925092565b6001600160a01b0381168114610463575f5ffd5b50565b5f5f60408385031215610477575f5ffd5b82516104828161044f565b60208401519092506104938161044f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103df576103df61049e565b63ffffffff82811682821603908111156103df576103df61049e565b6080516134236105275f395f818161065e01528181610b4701528181610c1b0152818161102e015281816110c301526115d701526134235ff3fe60806040526004361061022b575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee1461073e578063d22b59891461075d578063d6bb62c61461077c578063f801a6981461079b578063fe0776f5146107d4575f5ffd5b8063b7009613146106a7578063b7d2b162146106e2578063c399ec8814610701578063cc1b6c8114610715578063d087d2881461072a575f5ffd5b8063a64d95ce116100ee578063a64d95ce146105db578063abd9bd2a146105fa578063ac9650d814610619578063b0d691fe14610645578063b61d27f614610688575f5ffd5b80636d5115bd1461053c57806375b238fc1461055b578063853551b81461056e57806394c7d7ee1461058d578063a166aa89146105ac575f5ffd5b806330cae187116101b55780634a58db191161017a5780634a58db191461049c5780634c1da1e2146104a45780634d44560d146104c357806352962952146104e2578063530dd45614610501575f5ffd5b806330cae187146103e05780633adc277a146103ff5780633ca7c02a146104355780634136a33c1461044f5780634665096d14610487575f5ffd5b806318ff183c116101fb57806318ff183c1461030957806319822f7c146103285780631cff79cd1461035557806325c471a0146103685780633078f11414610387575f5ffd5b806308d6122d146102365780630b0a93ba1461025757806312be8727146102b6578063167bd395146102ea575f5ffd5b3661023257005b5f5ffd5b348015610241575f5ffd5b50610255610250366004612afa565b6107f3565b005b348015610262575f5ffd5b50610299610271366004612b5c565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102c1575f5ffd5b506102d56102d0366004612b5c565b610845565b60405163ffffffff90911681526020016102ad565b3480156102f5575f5ffd5b50610255610304366004612b75565b61087f565b348015610314575f5ffd5b50610255610323366004612bb0565b610895565b348015610333575f5ffd5b50610347610342366004612bdc565b6108f8565b6040519081526020016102ad565b6102d5610363366004612c67565b61091d565b348015610373575f5ffd5b50610255610382366004612cca565b610a47565b348015610392575f5ffd5b506103a66103a1366004612d0c565b610a69565b6040516102ad949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103eb575f5ffd5b506102556103fa366004612d26565b610b02565b34801561040a575f5ffd5b5061041e610419366004612d57565b610b14565b60405165ffffffffffff90911681526020016102ad565b348015610440575f5ffd5b506102996001600160401b0381565b34801561045a575f5ffd5b506102d5610469366004612d57565b5f90815260026020526040902054600160301b900463ffffffff1690565b348015610492575f5ffd5b5062093a806102d5565b610255610b45565b3480156104af575f5ffd5b506102d56104be366004612d6e565b610bba565b3480156104ce575f5ffd5b506102556104dd366004612d89565b610be7565b3480156104ed575f5ffd5b506102556104fc366004612d26565b610c4a565b34801561050c575f5ffd5b5061029961051b366004612b5c565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610547575f5ffd5b50610299610556366004612dc8565b610c5c565b348015610566575f5ffd5b506102995f81565b348015610579575f5ffd5b50610255610588366004612df4565b610c96565b348015610598575f5ffd5b506102556105a7366004612c67565b610d2d565b3480156105b7575f5ffd5b506105cb6105c6366004612d6e565b610dd7565b60405190151581526020016102ad565b3480156105e6575f5ffd5b506102556105f5366004612e0f565b610dfe565b348015610605575f5ffd5b50610347610614366004612e37565b610e10565b348015610624575f5ffd5b50610638610633366004612e97565b610e49565b6040516102ad9190612f03565b348015610650575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102ad565b348015610693575f5ffd5b506102556106a2366004612f66565b610f2e565b3480156106b2575f5ffd5b506106c66106c1366004612fa5565b610f77565b60408051921515835263ffffffff9091166020830152016102ad565b3480156106ed575f5ffd5b506102556106fc366004612d0c565b610ff8565b34801561070c575f5ffd5b5061034761100f565b348015610720575f5ffd5b50620697806102d5565b348015610735575f5ffd5b5061034761109d565b348015610749575f5ffd5b506106c6610758366004612d0c565b6110f2565b348015610768575f5ffd5b50610255610777366004612fed565b611176565b348015610787575f5ffd5b506102d5610796366004612e37565b611188565b3480156107a6575f5ffd5b506107ba6107b5366004613009565b6112db565b6040805192835263ffffffff9091166020830152016102ad565b3480156107df575f5ffd5b506102556107ee366004612d0c565b61141c565b6107fb611445565b5f5b8281101561083e576108368585858481811061081b5761081b613076565b9050602002016020810190610830919061308a565b846114bc565b6001016107fd565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461087990600160801b90046001600160701b031661153d565b92915050565b610887611445565b610891828261155b565b5050565b61089d611445565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b1580156108de575f5ffd5b505af11580156108f0573d5f5f3e3d5ffd5b505050505050565b5f6109016115cc565b61090b8484611646565b9050610916826117e1565b9392505050565b5f33818061092d8388888861182a565b9150915081158015610943575063ffffffff8116155b15610996578287610954888861187b565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109a384898989610e10565b90505f63ffffffff83161515806109c957506109be82610b14565b65ffffffffffff1615155b156109da576109d782611892565b90505b6003546109f08a6109eb8b8b61187b565b611990565b600381905550610a378a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503492506119d2915050565b5060035598975050505050505050565b610a4f611445565b610a638383610a5d86610845565b84611a72565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610ad5578054610ac990600160301b90046001600160701b0316611cb8565b91955093509150610af8565b8054610af090600160301b90046001600160701b0316611cd9565b919550935091505b5092959194509250565b610b0a611445565b6108918282611ced565b5f8181526002602052604081205465ffffffffffff16610b3381611d90565b610b3d5780610916565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610ba8575f5ffd5b505af115801561083e573d5f5f3e3d5ffd5b6001600160a01b0381165f90815260208190526040812060010154610879906001600160701b031661153d565b610bf4335f366001611dbe565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108c7565b610c52611445565b6108918282611e75565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610c9e611445565b6001600160401b0383161580610cbc57506001600160401b03838116145b15610ce55760405163061c6a4360e21b81526001600160401b038416600482015260240161098d565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610d209291906130cd565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610d6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9091906130e0565b6001600160e01b03191614610dc357604051630641fee960e31b81526001600160a01b038216600482015260240161098d565b61083e610dd285838686610e10565b611892565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610e06611445565b6108918282611f26565b5f84848484604051602001610e2894939291906130fb565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610e7257610e72613175565b604051908082528060200260200182016040528015610ea557816020015b6060815260200190600190039081610e905790505b5091505f5b83811015610f2657610f0130868684818110610ec857610ec8613076565b9050602002810190610eda9190613189565b85604051602001610eed939291906131e2565b604051602081830303815290604052612035565b838281518110610f1357610f13613076565b6020908102919091010152600101610eaa565b505092915050565b610f366115cc565b61083e8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508892506119d2915050565b5f5f610f8284610dd7565b15610f9157505f905080610ff0565b306001600160a01b03861603610fb557610fab84846120a7565b5f91509150610ff0565b5f610fc08585610c5c565b90505f5f610fce83896110f2565b9150915081610fde575f5f610fe8565b63ffffffff811615815b945094505050505b935093915050565b611000611445565b61100a82826120bd565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015611074573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109891906131f7565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611059565b5f8067fffffffffffffffe196001600160401b038516016111185750600190505f61116f565b5f5f6111248686610a69565b5050915091508165ffffffffffff165f14158015611164575060ff5f5c168061116457506111506121a6565b65ffffffffffff168265ffffffffffff1611155b9350915061116f9050565b9250929050565b61117e611445565b61089182826121b0565b5f3381611195858561187b565b90505f6111a488888888610e10565b5f8181526002602052604081205491925065ffffffffffff90911690036111e15760405163060a299b60e41b81526004810182905260240161098d565b826001600160a01b0316886001600160a01b03161461127a575f6112055f856110f2565b5090505f61121f6112196102718b87610c5c565b866110f2565b5090508115801561122e575080155b1561127757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b03198516606482015260840161098d565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816112eb8289898961182a565b9150505f8163ffffffff166112fe6121a6565b611308919061320e565b905063ffffffff8216158061133e57505f8665ffffffffffff1611801561133e57508065ffffffffffff168665ffffffffffff16105b1561134f5782896109548a8a61187b565b6113698665ffffffffffff168265ffffffffffff1661226b565b9550611377838a8a8a610e10565b94506113828561227a565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611408908a9088908f908f908f9061322c565b60405180910390a350505094509492505050565b6001600160a01b038116331461100057604051635f159e6360e01b815260040160405180910390fd5b335f806114538382366122c6565b915091508161100a578063ffffffff165f036114ad575f6114748136612389565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b0382166024820152909250604401905061098d565b610a63610dd284305f36610e10565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611551836001600160701b0316611cd9565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906115c090841515815260200190565b60405180910390a25050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116445760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000604482015260640161098d565b565b5f600160ff19825c168117825d505f6116626060850185613189565b611670916004915f9161314e565b61167991613271565b90506001600160e01b03198116635b0e93fb60e11b146116b85760405163d4d202fb60e01b81526001600160e01b03198216600482015260240161098d565b5f6116c66060860186613189565b6116d59160249160049161314e565b8101906116e29190612d6e565b9050306001600160a01b0382160361170d57604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c8120906117878261174e6101008a018a613189565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061256f92505050565b90506117a08161179a60608a018a613189565b5f611dbe565b6117b15760019450505050506117ce565b6117c7816117c260608a018a613189565b61258d565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156117de576040515f9033905f1990849084818181858888f193505050503d805f811461083e576040519150601f19603f3d011682016040523d82523d5f602084013e61083e565b5f80306001600160a01b03861603611850576118478685856122c6565b91509150611872565b6004831061186c5761186786866106c1878761187b565b611847565b505f9050805b94509492505050565b5f611889600482848661314e565b61091691613271565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036118da5760405163060a299b60e41b81526004810185905260240161098d565b6118e26121a6565b65ffffffffffff168265ffffffffffff16111561191557604051630c65b5bd60e11b81526004810185905260240161098d565b61191e82611d90565b1561193f57604051631e2975b960e21b81526004810185905260240161098d565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156119fe5760405163cf47918160e01b81524760048201526024810183905260440161098d565b5f5f856001600160a01b03168486604051611a1991906132a9565b5f6040518083038185875af1925050503d805f8114611a53576040519150601f19603f3d011682016040523d82523d5f602084013e611a58565b606091505b5091509150611a68868383612625565b9695505050505050565b5f67fffffffffffffffe196001600160401b03861601611ab05760405163061c6a4360e21b81526001600160401b038616600482015260240161098d565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611ba0578463ffffffff16611afb6121a6565b611b05919061320e565b905060405180604001604052808265ffffffffffff168152602001611b338663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611c4a565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611be991600160301b9091046001600160701b0316908690612681565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611ccc84611cc7612727565b612736565b9250925092509193909250565b5f5f5f611ccc84611ce86121a6565b612788565b6001600160401b0382161580611d0b57506001600160401b03828116145b15611d345760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611d996121a6565b65ffffffffffff16611dae62093a808461320e565b65ffffffffffff16111592915050565b5f8080611ddc8730611dd36004858a8c61314e565b6106c191613271565b9150915081611e685763ffffffff811615611e0a576040516399ec076b60e01b815260040160405180910390fd5b8315611e5e5786611e2b30611e2260045f8a8c61314e565b61055691613271565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b0316602482015260440161098d565b5f92505050610e41565b5060019695505050505050565b6001600160401b0382161580611e9357506001600160401b03828116145b15611ebc5760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b03831601611f635760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b0382165f90815260016020819052604082200154611f9c90600160801b90046001600160701b03168362069780612681565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610d20908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f5f846001600160a01b03168460405161205191906132a9565b5f60405180830381855af49150503d805f8114612089576040519150601f19603f3d011682016040523d82523d5f602084013e61208e565b606091505b509150915061209e858383612625565b95945050505050565b5f6120b28383611990565b600354149392505050565b5f67fffffffffffffffe196001600160401b038416016120fb5760405163061c6a4360e21b81526001600160401b038416600482015260240161098d565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff16900361213c57505f610879565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611098426127d4565b6001600160a01b0382165f908152602081905260408120600101546121e2906001600160701b03168362069780612681565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610d20565b5f828218828411028218610916565b5f8181526002602052604090205465ffffffffffff1680158015906122a557506122a381611d90565b155b156108915760405163813e945960e01b81526004810183905260240161098d565b5f8060048310156122db57505f905080610ff0565b306001600160a01b038616036122fe57610fab306122f9868661187b565b6120a7565b5f5f5f61230b8787612389565b92509250925082158015612323575061232330610dd7565b15612336575f5f94509450505050610ff0565b5f5f612342848b6110f2565b915091508161235b575f5f965096505050505050610ff0565b6123718363ffffffff168263ffffffff1661226b565b63ffffffff8116159b909a5098505050505050505050565b5f808060048410156123a257505f915081905080612568565b5f6123ad868661187b565b90506001600160e01b031981166310a6aa3760e31b14806123de57506001600160e01b031981166330cae18760e01b145b806123f957506001600160e01b0319811663294b14a960e11b145b8061241457506001600160e01b03198116635326cae760e11b145b8061242f57506001600160e01b0319811663d22b598960e01b145b156124445760015f5f93509350935050612568565b6001600160e01b0319811663063fc60f60e21b148061247357506001600160e01b0319811663167bd39560e01b145b8061248e57506001600160e01b031981166308d6122d60e01b145b156124cd575f6124a260246004888a61314e565b8101906124af9190612d6e565b90505f6124bb82610bba565b600196505f9550935061256892505050565b6001600160e01b0319811663012e238d60e51b14806124fc57506001600160e01b03198116635be958b160e11b145b15612554575f61251060246004888a61314e565b81019061251d9190612b5c565b90506001612546826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050612568565b5f61255f3083610c5c565b5f935093509350505b9250925092565b5f5f5f5f61257d868661280a565b9250925092506115518282612850565b5f80808460048561259e828261313b565b926125ab9392919061314e565b8101906125b891906132b4565b92505091505f5f6125d788856106c15f8761290890919063ffffffff16565b9150915081806125eb575063ffffffff8116155b1561260957816125fc5760016125fe565b5f5b945050505050610916565b612617610dd2898686612965565b505f98975050505050505050565b60608261263a576126358261299a565b610916565b815115801561265157506001600160a01b0384163b155b1561267a57604051639996b31560e01b81526001600160a01b038516600482015260240161098d565b5080610916565b5f5f5f612696866001600160701b031661153d565b90505f6126d18563ffffffff168763ffffffff168463ffffffff16116126bc575f6126c6565b6126c6888561337f565b63ffffffff1661226b565b90508063ffffffff166126e26121a6565b6126ec919061320e565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6110986407915ecc006127d4565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561277457828282612778565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156127c3578282826127c7565b815f5f5b9250925092509250925092565b5f65ffffffffffff821115612806576040516306dfcc6560e41b8152603060048201526024810183905260440161098d565b5090565b5f5f5f8351604103612841576020840151604085015160608601515f1a612833888285856129c3565b955095509550505050612568565b505081515f9150600290612568565b5f8260038111156128635761286361339b565b0361286c575050565b60018260038111156128805761288061339b565b0361289e5760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156128b2576128b261339b565b036128d35760405163fce698f760e01b81526004810182905260240161098d565b60038260038111156128e7576128e761339b565b03610891576040516335e2f38360e21b81526004810182905260240161098d565b5f6129148260206133af565b8351101561295c5760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b604482015260640161098d565b50016020015190565b5f83838360405160200161297b939291906133c2565b6040516020818303038152906040528051906020012090509392505050565b8051156129aa5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156129fc57505f91506003905082612a81565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612a4d573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612a7857505f925060019150829050612a81565b92505f91508190505b9450945094915050565b6001600160a01b03811681146117de575f5ffd5b5f5f83601f840112612aaf575f5ffd5b5081356001600160401b03811115612ac5575f5ffd5b6020830191508360208260051b850101111561116f575f5ffd5b80356001600160401b0381168114612af5575f5ffd5b919050565b5f5f5f5f60608587031215612b0d575f5ffd5b8435612b1881612a8b565b935060208501356001600160401b03811115612b32575f5ffd5b612b3e87828801612a9f565b9094509250612b51905060408601612adf565b905092959194509250565b5f60208284031215612b6c575f5ffd5b61091682612adf565b5f5f60408385031215612b86575f5ffd5b8235612b9181612a8b565b915060208301358015158114612ba5575f5ffd5b809150509250929050565b5f5f60408385031215612bc1575f5ffd5b8235612bcc81612a8b565b91506020830135612ba581612a8b565b5f5f5f60608486031215612bee575f5ffd5b83356001600160401b03811115612c03575f5ffd5b84016101208187031215612c15575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612c3a575f5ffd5b5081356001600160401b03811115612c50575f5ffd5b60208301915083602082850101111561116f575f5ffd5b5f5f5f60408486031215612c79575f5ffd5b8335612c8481612a8b565b925060208401356001600160401b03811115612c9e575f5ffd5b612caa86828701612c2a565b9497909650939450505050565b803563ffffffff81168114612af5575f5ffd5b5f5f5f60608486031215612cdc575f5ffd5b612ce584612adf565b92506020840135612cf581612a8b565b9150612d0360408501612cb7565b90509250925092565b5f5f60408385031215612d1d575f5ffd5b612bcc83612adf565b5f5f60408385031215612d37575f5ffd5b612d4083612adf565b9150612d4e60208401612adf565b90509250929050565b5f60208284031215612d67575f5ffd5b5035919050565b5f60208284031215612d7e575f5ffd5b813561091681612a8b565b5f5f60408385031215612d9a575f5ffd5b8235612da581612a8b565b946020939093013593505050565b6001600160e01b0319811681146117de575f5ffd5b5f5f60408385031215612dd9575f5ffd5b8235612de481612a8b565b91506020830135612ba581612db3565b5f5f5f60408486031215612e06575f5ffd5b612c8484612adf565b5f5f60408385031215612e20575f5ffd5b612e2983612adf565b9150612d4e60208401612cb7565b5f5f5f5f60608587031215612e4a575f5ffd5b8435612e5581612a8b565b93506020850135612e6581612a8b565b925060408501356001600160401b03811115612e7f575f5ffd5b612e8b87828801612c2a565b95989497509550505050565b5f5f60208385031215612ea8575f5ffd5b82356001600160401b03811115612ebd575f5ffd5b612ec985828601612a9f565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612f5a57603f19878603018452612f45858351612ed5565b94506020938401939190910190600101612f29565b50929695505050505050565b5f5f5f5f60608587031215612f79575f5ffd5b8435612f8481612a8b565b93506020850135925060408501356001600160401b03811115612e7f575f5ffd5b5f5f5f60608486031215612fb7575f5ffd5b8335612fc281612a8b565b92506020840135612fd281612a8b565b91506040840135612fe281612db3565b809150509250925092565b5f5f60408385031215612ffe575f5ffd5b8235612e2981612a8b565b5f5f5f5f6060858703121561301c575f5ffd5b843561302781612a8b565b935060208501356001600160401b03811115613041575f5ffd5b61304d87828801612c2a565b909450925050604085013565ffffffffffff8116811461306b575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561309a575f5ffd5b813561091681612db3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610e416020830184866130a5565b5f602082840312156130f0575f5ffd5b815161091681612db3565b6001600160a01b038581168252841660208201526060604082018190525f90611a6890830184866130a5565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561087957610879613127565b5f5f8585111561315c575f5ffd5b83861115613168575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e1984360301811261319e575f5ffd5b8301803591506001600160401b038211156131b7575f5ffd5b60200191503681900382131561116f575f5ffd5b5f81518060208401855e5f93019283525090919050565b828482375f8382015f8152611a6881856131cb565b5f60208284031215613207575f5ffd5b5051919050565b65ffffffffffff818116838216019081111561087957610879613127565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061326690830184866130a5565b979650505050505050565b80356001600160e01b031981169060048410156132a2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f61091682846131cb565b5f5f5f606084860312156132c6575f5ffd5b83356132d181612a8b565b92506020840135915060408401356001600160401b038111156132f2575f5ffd5b8401601f81018613613302575f5ffd5b80356001600160401b0381111561331b5761331b613175565b604051601f8201601f19908116603f011681016001600160401b038111828210171561334957613349613175565b604052818152828201602001881015613360575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff828116828216039081111561087957610879613127565b634e487b7160e01b5f52602160045260245ffd5b8082018082111561087957610879613127565b6001600160a01b038481168252831660208201526060604082018190525f9061209e90830184612ed556fea26469706673582212204e46117ea74d6d931977b673cd42be94114ea41528e2312d13dc2fa8bdd094be64736f6c634300081c0033",
|
|
1392
|
-
"deployedBytecode": "0x60806040526004361061022b575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee1461073e578063d22b59891461075d578063d6bb62c61461077c578063f801a6981461079b578063fe0776f5146107d4575f5ffd5b8063b7009613146106a7578063b7d2b162146106e2578063c399ec8814610701578063cc1b6c8114610715578063d087d2881461072a575f5ffd5b8063a64d95ce116100ee578063a64d95ce146105db578063abd9bd2a146105fa578063ac9650d814610619578063b0d691fe14610645578063b61d27f614610688575f5ffd5b80636d5115bd1461053c57806375b238fc1461055b578063853551b81461056e57806394c7d7ee1461058d578063a166aa89146105ac575f5ffd5b806330cae187116101b55780634a58db191161017a5780634a58db191461049c5780634c1da1e2146104a45780634d44560d146104c357806352962952146104e2578063530dd45614610501575f5ffd5b806330cae187146103e05780633adc277a146103ff5780633ca7c02a146104355780634136a33c1461044f5780634665096d14610487575f5ffd5b806318ff183c116101fb57806318ff183c1461030957806319822f7c146103285780631cff79cd1461035557806325c471a0146103685780633078f11414610387575f5ffd5b806308d6122d146102365780630b0a93ba1461025757806312be8727146102b6578063167bd395146102ea575f5ffd5b3661023257005b5f5ffd5b348015610241575f5ffd5b50610255610250366004612afa565b6107f3565b005b348015610262575f5ffd5b50610299610271366004612b5c565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102c1575f5ffd5b506102d56102d0366004612b5c565b610845565b60405163ffffffff90911681526020016102ad565b3480156102f5575f5ffd5b50610255610304366004612b75565b61087f565b348015610314575f5ffd5b50610255610323366004612bb0565b610895565b348015610333575f5ffd5b50610347610342366004612bdc565b6108f8565b6040519081526020016102ad565b6102d5610363366004612c67565b61091d565b348015610373575f5ffd5b50610255610382366004612cca565b610a47565b348015610392575f5ffd5b506103a66103a1366004612d0c565b610a69565b6040516102ad949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103eb575f5ffd5b506102556103fa366004612d26565b610b02565b34801561040a575f5ffd5b5061041e610419366004612d57565b610b14565b60405165ffffffffffff90911681526020016102ad565b348015610440575f5ffd5b506102996001600160401b0381565b34801561045a575f5ffd5b506102d5610469366004612d57565b5f90815260026020526040902054600160301b900463ffffffff1690565b348015610492575f5ffd5b5062093a806102d5565b610255610b45565b3480156104af575f5ffd5b506102d56104be366004612d6e565b610bba565b3480156104ce575f5ffd5b506102556104dd366004612d89565b610be7565b3480156104ed575f5ffd5b506102556104fc366004612d26565b610c4a565b34801561050c575f5ffd5b5061029961051b366004612b5c565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610547575f5ffd5b50610299610556366004612dc8565b610c5c565b348015610566575f5ffd5b506102995f81565b348015610579575f5ffd5b50610255610588366004612df4565b610c96565b348015610598575f5ffd5b506102556105a7366004612c67565b610d2d565b3480156105b7575f5ffd5b506105cb6105c6366004612d6e565b610dd7565b60405190151581526020016102ad565b3480156105e6575f5ffd5b506102556105f5366004612e0f565b610dfe565b348015610605575f5ffd5b50610347610614366004612e37565b610e10565b348015610624575f5ffd5b50610638610633366004612e97565b610e49565b6040516102ad9190612f03565b348015610650575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102ad565b348015610693575f5ffd5b506102556106a2366004612f66565b610f2e565b3480156106b2575f5ffd5b506106c66106c1366004612fa5565b610f77565b60408051921515835263ffffffff9091166020830152016102ad565b3480156106ed575f5ffd5b506102556106fc366004612d0c565b610ff8565b34801561070c575f5ffd5b5061034761100f565b348015610720575f5ffd5b50620697806102d5565b348015610735575f5ffd5b5061034761109d565b348015610749575f5ffd5b506106c6610758366004612d0c565b6110f2565b348015610768575f5ffd5b50610255610777366004612fed565b611176565b348015610787575f5ffd5b506102d5610796366004612e37565b611188565b3480156107a6575f5ffd5b506107ba6107b5366004613009565b6112db565b6040805192835263ffffffff9091166020830152016102ad565b3480156107df575f5ffd5b506102556107ee366004612d0c565b61141c565b6107fb611445565b5f5b8281101561083e576108368585858481811061081b5761081b613076565b9050602002016020810190610830919061308a565b846114bc565b6001016107fd565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461087990600160801b90046001600160701b031661153d565b92915050565b610887611445565b610891828261155b565b5050565b61089d611445565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b1580156108de575f5ffd5b505af11580156108f0573d5f5f3e3d5ffd5b505050505050565b5f6109016115cc565b61090b8484611646565b9050610916826117e1565b9392505050565b5f33818061092d8388888861182a565b9150915081158015610943575063ffffffff8116155b15610996578287610954888861187b565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109a384898989610e10565b90505f63ffffffff83161515806109c957506109be82610b14565b65ffffffffffff1615155b156109da576109d782611892565b90505b6003546109f08a6109eb8b8b61187b565b611990565b600381905550610a378a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152503492506119d2915050565b5060035598975050505050505050565b610a4f611445565b610a638383610a5d86610845565b84611a72565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610ad5578054610ac990600160301b90046001600160701b0316611cb8565b91955093509150610af8565b8054610af090600160301b90046001600160701b0316611cd9565b919550935091505b5092959194509250565b610b0a611445565b6108918282611ced565b5f8181526002602052604081205465ffffffffffff16610b3381611d90565b610b3d5780610916565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610ba8575f5ffd5b505af115801561083e573d5f5f3e3d5ffd5b6001600160a01b0381165f90815260208190526040812060010154610879906001600160701b031661153d565b610bf4335f366001611dbe565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108c7565b610c52611445565b6108918282611e75565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610c9e611445565b6001600160401b0383161580610cbc57506001600160401b03838116145b15610ce55760405163061c6a4360e21b81526001600160401b038416600482015260240161098d565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610d209291906130cd565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610d6c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9091906130e0565b6001600160e01b03191614610dc357604051630641fee960e31b81526001600160a01b038216600482015260240161098d565b61083e610dd285838686610e10565b611892565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610e06611445565b6108918282611f26565b5f84848484604051602001610e2894939291906130fb565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610e7257610e72613175565b604051908082528060200260200182016040528015610ea557816020015b6060815260200190600190039081610e905790505b5091505f5b83811015610f2657610f0130868684818110610ec857610ec8613076565b9050602002810190610eda9190613189565b85604051602001610eed939291906131e2565b604051602081830303815290604052612035565b838281518110610f1357610f13613076565b6020908102919091010152600101610eaa565b505092915050565b610f366115cc565b61083e8483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508892506119d2915050565b5f5f610f8284610dd7565b15610f9157505f905080610ff0565b306001600160a01b03861603610fb557610fab84846120a7565b5f91509150610ff0565b5f610fc08585610c5c565b90505f5f610fce83896110f2565b9150915081610fde575f5f610fe8565b63ffffffff811615815b945094505050505b935093915050565b611000611445565b61100a82826120bd565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015611074573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109891906131f7565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611059565b5f8067fffffffffffffffe196001600160401b038516016111185750600190505f61116f565b5f5f6111248686610a69565b5050915091508165ffffffffffff165f14158015611164575060ff5f5c168061116457506111506121a6565b65ffffffffffff168265ffffffffffff1611155b9350915061116f9050565b9250929050565b61117e611445565b61089182826121b0565b5f3381611195858561187b565b90505f6111a488888888610e10565b5f8181526002602052604081205491925065ffffffffffff90911690036111e15760405163060a299b60e41b81526004810182905260240161098d565b826001600160a01b0316886001600160a01b03161461127a575f6112055f856110f2565b5090505f61121f6112196102718b87610c5c565b866110f2565b5090508115801561122e575080155b1561127757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b03198516606482015260840161098d565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816112eb8289898961182a565b9150505f8163ffffffff166112fe6121a6565b611308919061320e565b905063ffffffff8216158061133e57505f8665ffffffffffff1611801561133e57508065ffffffffffff168665ffffffffffff16105b1561134f5782896109548a8a61187b565b6113698665ffffffffffff168265ffffffffffff1661226b565b9550611377838a8a8a610e10565b94506113828561227a565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611408908a9088908f908f908f9061322c565b60405180910390a350505094509492505050565b6001600160a01b038116331461100057604051635f159e6360e01b815260040160405180910390fd5b335f806114538382366122c6565b915091508161100a578063ffffffff165f036114ad575f6114748136612389565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b0382166024820152909250604401905061098d565b610a63610dd284305f36610e10565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611551836001600160701b0316611cd9565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906115c090841515815260200190565b60405180910390a25050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116445760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e7400000000604482015260640161098d565b565b5f600160ff19825c168117825d505f6116626060850185613189565b611670916004915f9161314e565b61167991613271565b90506001600160e01b03198116635b0e93fb60e11b146116b85760405163d4d202fb60e01b81526001600160e01b03198216600482015260240161098d565b5f6116c66060860186613189565b6116d59160249160049161314e565b8101906116e29190612d6e565b9050306001600160a01b0382160361170d57604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c8120906117878261174e6101008a018a613189565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061256f92505050565b90506117a08161179a60608a018a613189565b5f611dbe565b6117b15760019450505050506117ce565b6117c7816117c260608a018a613189565b61258d565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156117de576040515f9033905f1990849084818181858888f193505050503d805f811461083e576040519150601f19603f3d011682016040523d82523d5f602084013e61083e565b5f80306001600160a01b03861603611850576118478685856122c6565b91509150611872565b6004831061186c5761186786866106c1878761187b565b611847565b505f9050805b94509492505050565b5f611889600482848661314e565b61091691613271565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036118da5760405163060a299b60e41b81526004810185905260240161098d565b6118e26121a6565b65ffffffffffff168265ffffffffffff16111561191557604051630c65b5bd60e11b81526004810185905260240161098d565b61191e82611d90565b1561193f57604051631e2975b960e21b81526004810185905260240161098d565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156119fe5760405163cf47918160e01b81524760048201526024810183905260440161098d565b5f5f856001600160a01b03168486604051611a1991906132a9565b5f6040518083038185875af1925050503d805f8114611a53576040519150601f19603f3d011682016040523d82523d5f602084013e611a58565b606091505b5091509150611a68868383612625565b9695505050505050565b5f67fffffffffffffffe196001600160401b03861601611ab05760405163061c6a4360e21b81526001600160401b038616600482015260240161098d565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611ba0578463ffffffff16611afb6121a6565b611b05919061320e565b905060405180604001604052808265ffffffffffff168152602001611b338663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611c4a565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611be991600160301b9091046001600160701b0316908690612681565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611ccc84611cc7612727565b612736565b9250925092509193909250565b5f5f5f611ccc84611ce86121a6565b612788565b6001600160401b0382161580611d0b57506001600160401b03828116145b15611d345760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611d996121a6565b65ffffffffffff16611dae62093a808461320e565b65ffffffffffff16111592915050565b5f8080611ddc8730611dd36004858a8c61314e565b6106c191613271565b9150915081611e685763ffffffff811615611e0a576040516399ec076b60e01b815260040160405180910390fd5b8315611e5e5786611e2b30611e2260045f8a8c61314e565b61055691613271565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b0316602482015260440161098d565b5f92505050610e41565b5060019695505050505050565b6001600160401b0382161580611e9357506001600160401b03828116145b15611ebc5760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b03831601611f635760405163061c6a4360e21b81526001600160401b038316600482015260240161098d565b6001600160401b0382165f90815260016020819052604082200154611f9c90600160801b90046001600160701b03168362069780612681565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610d20908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f5f846001600160a01b03168460405161205191906132a9565b5f60405180830381855af49150503d805f8114612089576040519150601f19603f3d011682016040523d82523d5f602084013e61208e565b606091505b509150915061209e858383612625565b95945050505050565b5f6120b28383611990565b600354149392505050565b5f67fffffffffffffffe196001600160401b038416016120fb5760405163061c6a4360e21b81526001600160401b038416600482015260240161098d565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff16900361213c57505f610879565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611098426127d4565b6001600160a01b0382165f908152602081905260408120600101546121e2906001600160701b03168362069780612681565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610d20565b5f828218828411028218610916565b5f8181526002602052604090205465ffffffffffff1680158015906122a557506122a381611d90565b155b156108915760405163813e945960e01b81526004810183905260240161098d565b5f8060048310156122db57505f905080610ff0565b306001600160a01b038616036122fe57610fab306122f9868661187b565b6120a7565b5f5f5f61230b8787612389565b92509250925082158015612323575061232330610dd7565b15612336575f5f94509450505050610ff0565b5f5f612342848b6110f2565b915091508161235b575f5f965096505050505050610ff0565b6123718363ffffffff168263ffffffff1661226b565b63ffffffff8116159b909a5098505050505050505050565b5f808060048410156123a257505f915081905080612568565b5f6123ad868661187b565b90506001600160e01b031981166310a6aa3760e31b14806123de57506001600160e01b031981166330cae18760e01b145b806123f957506001600160e01b0319811663294b14a960e11b145b8061241457506001600160e01b03198116635326cae760e11b145b8061242f57506001600160e01b0319811663d22b598960e01b145b156124445760015f5f93509350935050612568565b6001600160e01b0319811663063fc60f60e21b148061247357506001600160e01b0319811663167bd39560e01b145b8061248e57506001600160e01b031981166308d6122d60e01b145b156124cd575f6124a260246004888a61314e565b8101906124af9190612d6e565b90505f6124bb82610bba565b600196505f9550935061256892505050565b6001600160e01b0319811663012e238d60e51b14806124fc57506001600160e01b03198116635be958b160e11b145b15612554575f61251060246004888a61314e565b81019061251d9190612b5c565b90506001612546826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050612568565b5f61255f3083610c5c565b5f935093509350505b9250925092565b5f5f5f5f61257d868661280a565b9250925092506115518282612850565b5f80808460048561259e828261313b565b926125ab9392919061314e565b8101906125b891906132b4565b92505091505f5f6125d788856106c15f8761290890919063ffffffff16565b9150915081806125eb575063ffffffff8116155b1561260957816125fc5760016125fe565b5f5b945050505050610916565b612617610dd2898686612965565b505f98975050505050505050565b60608261263a576126358261299a565b610916565b815115801561265157506001600160a01b0384163b155b1561267a57604051639996b31560e01b81526001600160a01b038516600482015260240161098d565b5080610916565b5f5f5f612696866001600160701b031661153d565b90505f6126d18563ffffffff168763ffffffff168463ffffffff16116126bc575f6126c6565b6126c6888561337f565b63ffffffff1661226b565b90508063ffffffff166126e26121a6565b6126ec919061320e565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6110986407915ecc006127d4565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561277457828282612778565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156127c3578282826127c7565b815f5f5b9250925092509250925092565b5f65ffffffffffff821115612806576040516306dfcc6560e41b8152603060048201526024810183905260440161098d565b5090565b5f5f5f8351604103612841576020840151604085015160608601515f1a612833888285856129c3565b955095509550505050612568565b505081515f9150600290612568565b5f8260038111156128635761286361339b565b0361286c575050565b60018260038111156128805761288061339b565b0361289e5760405163f645eedf60e01b815260040160405180910390fd5b60028260038111156128b2576128b261339b565b036128d35760405163fce698f760e01b81526004810182905260240161098d565b60038260038111156128e7576128e761339b565b03610891576040516335e2f38360e21b81526004810182905260240161098d565b5f6129148260206133af565b8351101561295c5760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b604482015260640161098d565b50016020015190565b5f83838360405160200161297b939291906133c2565b6040516020818303038152906040528051906020012090509392505050565b8051156129aa5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156129fc57505f91506003905082612a81565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612a4d573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612a7857505f925060019150829050612a81565b92505f91508190505b9450945094915050565b6001600160a01b03811681146117de575f5ffd5b5f5f83601f840112612aaf575f5ffd5b5081356001600160401b03811115612ac5575f5ffd5b6020830191508360208260051b850101111561116f575f5ffd5b80356001600160401b0381168114612af5575f5ffd5b919050565b5f5f5f5f60608587031215612b0d575f5ffd5b8435612b1881612a8b565b935060208501356001600160401b03811115612b32575f5ffd5b612b3e87828801612a9f565b9094509250612b51905060408601612adf565b905092959194509250565b5f60208284031215612b6c575f5ffd5b61091682612adf565b5f5f60408385031215612b86575f5ffd5b8235612b9181612a8b565b915060208301358015158114612ba5575f5ffd5b809150509250929050565b5f5f60408385031215612bc1575f5ffd5b8235612bcc81612a8b565b91506020830135612ba581612a8b565b5f5f5f60608486031215612bee575f5ffd5b83356001600160401b03811115612c03575f5ffd5b84016101208187031215612c15575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612c3a575f5ffd5b5081356001600160401b03811115612c50575f5ffd5b60208301915083602082850101111561116f575f5ffd5b5f5f5f60408486031215612c79575f5ffd5b8335612c8481612a8b565b925060208401356001600160401b03811115612c9e575f5ffd5b612caa86828701612c2a565b9497909650939450505050565b803563ffffffff81168114612af5575f5ffd5b5f5f5f60608486031215612cdc575f5ffd5b612ce584612adf565b92506020840135612cf581612a8b565b9150612d0360408501612cb7565b90509250925092565b5f5f60408385031215612d1d575f5ffd5b612bcc83612adf565b5f5f60408385031215612d37575f5ffd5b612d4083612adf565b9150612d4e60208401612adf565b90509250929050565b5f60208284031215612d67575f5ffd5b5035919050565b5f60208284031215612d7e575f5ffd5b813561091681612a8b565b5f5f60408385031215612d9a575f5ffd5b8235612da581612a8b565b946020939093013593505050565b6001600160e01b0319811681146117de575f5ffd5b5f5f60408385031215612dd9575f5ffd5b8235612de481612a8b565b91506020830135612ba581612db3565b5f5f5f60408486031215612e06575f5ffd5b612c8484612adf565b5f5f60408385031215612e20575f5ffd5b612e2983612adf565b9150612d4e60208401612cb7565b5f5f5f5f60608587031215612e4a575f5ffd5b8435612e5581612a8b565b93506020850135612e6581612a8b565b925060408501356001600160401b03811115612e7f575f5ffd5b612e8b87828801612c2a565b95989497509550505050565b5f5f60208385031215612ea8575f5ffd5b82356001600160401b03811115612ebd575f5ffd5b612ec985828601612a9f565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015612f5a57603f19878603018452612f45858351612ed5565b94506020938401939190910190600101612f29565b50929695505050505050565b5f5f5f5f60608587031215612f79575f5ffd5b8435612f8481612a8b565b93506020850135925060408501356001600160401b03811115612e7f575f5ffd5b5f5f5f60608486031215612fb7575f5ffd5b8335612fc281612a8b565b92506020840135612fd281612a8b565b91506040840135612fe281612db3565b809150509250925092565b5f5f60408385031215612ffe575f5ffd5b8235612e2981612a8b565b5f5f5f5f6060858703121561301c575f5ffd5b843561302781612a8b565b935060208501356001600160401b03811115613041575f5ffd5b61304d87828801612c2a565b909450925050604085013565ffffffffffff8116811461306b575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561309a575f5ffd5b813561091681612db3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610e416020830184866130a5565b5f602082840312156130f0575f5ffd5b815161091681612db3565b6001600160a01b038581168252841660208201526060604082018190525f90611a6890830184866130a5565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561087957610879613127565b5f5f8585111561315c575f5ffd5b83861115613168575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e1984360301811261319e575f5ffd5b8301803591506001600160401b038211156131b7575f5ffd5b60200191503681900382131561116f575f5ffd5b5f81518060208401855e5f93019283525090919050565b828482375f8382015f8152611a6881856131cb565b5f60208284031215613207575f5ffd5b5051919050565b65ffffffffffff818116838216019081111561087957610879613127565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061326690830184866130a5565b979650505050505050565b80356001600160e01b031981169060048410156132a2576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f61091682846131cb565b5f5f5f606084860312156132c6575f5ffd5b83356132d181612a8b565b92506020840135915060408401356001600160401b038111156132f2575f5ffd5b8401601f81018613613302575f5ffd5b80356001600160401b0381111561331b5761331b613175565b604051601f8201601f19908116603f011681016001600160401b038111828210171561334957613349613175565b604052818152828201602001881015613360575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff828116828216039081111561087957610879613127565b634e487b7160e01b5f52602160045260245ffd5b8082018082111561087957610879613127565b6001600160a01b038481168252831660208201526060604082018190525f9061209e90830184612ed556fea26469706673582212204e46117ea74d6d931977b673cd42be94114ea41528e2312d13dc2fa8bdd094be64736f6c634300081c0033",
|
|
1437
|
+
"bytecode": "0x60a060405234801561000f575f5ffd5b50604051613aef380380613aef83398101604081905261002e91610466565b806001600160a01b03811661005d57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100695f82818061007d565b5050506001600160a01b03166080526104ec565b5f6002600160401b03196001600160401b038616016100ba5760405163061c6a4360e21b81526001600160401b0386166004820152602401610054565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101af5763ffffffff85166101056102c3565b61010f91906104b2565b905060405180604001604052808265ffffffffffff16815260200161013f8663ffffffff166102d260201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610255565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101fb9166010000000000009091046001600160701b03169086906102db565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102cd42610381565b905090565b63ffffffff1690565b5f80806102f06001600160701b0387166103b7565b90505f61032b8563ffffffff168763ffffffff168463ffffffff1611610316575f610320565b61032088856104d0565b63ffffffff166103d5565b905063ffffffff811661033c6102c3565b61034691906104b2565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103b3576040516306dfcc6560e41b81526030600482015260248101839052604401610054565b5090565b5f806103cb6001600160701b0384166103e5565b5090949350505050565b8082118183180281185b92915050565b5f80806103f9846103f46102c3565b610406565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043e57828282610442565b815f5f5b9250925092509250925092565b6001600160a01b0381168114610463575f5ffd5b50565b5f5f60408385031215610477575f5ffd5b82516104828161044f565b60208401519092506104938161044f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103df576103df61049e565b63ffffffff82811682821603908111156103df576103df61049e565b6080516135c86105275f395f818161068801528181610c5201528181610d2601528181611139015281816111ce01526116e201526135c85ff3fe608060405260043610610236575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee14610768578063d22b598914610787578063d6bb62c6146107a6578063f801a698146107c5578063fe0776f5146107fe575f5ffd5b8063b7009613146106d1578063b7d2b1621461070c578063c399ec881461072b578063cc1b6c811461073f578063d087d28814610754575f5ffd5b8063a64d95ce116100ee578063a64d95ce14610605578063abd9bd2a14610624578063ac9650d814610643578063b0d691fe1461066f578063b61d27f6146106b2575f5ffd5b80636d5115bd1461056657806375b238fc14610585578063853551b81461059857806394c7d7ee146105b7578063a166aa89146105d6575f5ffd5b806334fcd5be116101b55780634a58db191161017a5780634a58db19146104c65780634c1da1e2146104ce5780634d44560d146104ed578063529629521461050c578063530dd4561461052b575f5ffd5b806334fcd5be1461040a5780633adc277a146104295780633ca7c02a1461045f5780634136a33c146104795780634665096d146104b1575f5ffd5b806319822f7c116101fb57806319822f7c146103335780631cff79cd1461036057806325c471a0146103735780633078f1141461039257806330cae187146103eb575f5ffd5b806308d6122d146102415780630b0a93ba1461026257806312be8727146102c1578063167bd395146102f557806318ff183c14610314575f5ffd5b3661023d57005b5f5ffd5b34801561024c575f5ffd5b5061026061025b366004612c6c565b61081d565b005b34801561026d575f5ffd5b506102a461027c366004612cce565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102cc575f5ffd5b506102e06102db366004612cce565b61086f565b60405163ffffffff90911681526020016102b8565b348015610300575f5ffd5b5061026061030f366004612ce7565b6108a9565b34801561031f575f5ffd5b5061026061032e366004612d22565b6108bf565b34801561033e575f5ffd5b5061035261034d366004612d4e565b610922565b6040519081526020016102b8565b6102e061036e366004612dd9565b610947565b34801561037e575f5ffd5b5061026061038d366004612e3c565b610a71565b34801561039d575f5ffd5b506103b16103ac366004612e7e565b610a93565b6040516102b8949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103f6575f5ffd5b50610260610405366004612e98565b610b2c565b348015610415575f5ffd5b50610260610424366004612ec9565b610b3e565b348015610434575f5ffd5b50610448610443366004612f07565b610c1f565b60405165ffffffffffff90911681526020016102b8565b34801561046a575f5ffd5b506102a46001600160401b0381565b348015610484575f5ffd5b506102e0610493366004612f07565b5f90815260026020526040902054600160301b900463ffffffff1690565b3480156104bc575f5ffd5b5062093a806102e0565b610260610c50565b3480156104d9575f5ffd5b506102e06104e8366004612f1e565b610cc5565b3480156104f8575f5ffd5b50610260610507366004612f39565b610cf2565b348015610517575f5ffd5b50610260610526366004612e98565b610d55565b348015610536575f5ffd5b506102a4610545366004612cce565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610571575f5ffd5b506102a4610580366004612f78565b610d67565b348015610590575f5ffd5b506102a45f81565b3480156105a3575f5ffd5b506102606105b2366004612fa4565b610da1565b3480156105c2575f5ffd5b506102606105d1366004612dd9565b610e38565b3480156105e1575f5ffd5b506105f56105f0366004612f1e565b610ee2565b60405190151581526020016102b8565b348015610610575f5ffd5b5061026061061f366004612fbf565b610f09565b34801561062f575f5ffd5b5061035261063e366004612fe7565b610f1b565b34801561064e575f5ffd5b5061066261065d366004612ec9565b610f54565b6040516102b89190613075565b34801561067a575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102b8565b3480156106bd575f5ffd5b506102606106cc3660046130d8565b611039565b3480156106dc575f5ffd5b506106f06106eb366004613117565b611082565b60408051921515835263ffffffff9091166020830152016102b8565b348015610717575f5ffd5b50610260610726366004612e7e565b611103565b348015610736575f5ffd5b5061035261111a565b34801561074a575f5ffd5b50620697806102e0565b34801561075f575f5ffd5b506103526111a8565b348015610773575f5ffd5b506106f0610782366004612e7e565b6111fd565b348015610792575f5ffd5b506102606107a136600461315f565b611281565b3480156107b1575f5ffd5b506102e06107c0366004612fe7565b611293565b3480156107d0575f5ffd5b506107e46107df36600461317b565b6113e6565b6040805192835263ffffffff9091166020830152016102b8565b348015610809575f5ffd5b50610260610818366004612e7e565b611527565b610825611550565b5f5b828110156108685761086085858584818110610845576108456131e8565b905060200201602081019061085a91906131fc565b846115c7565b600101610827565b5050505050565b6001600160401b0381165f908152600160208190526040822001546108a390600160801b90046001600160701b0316611648565b92915050565b6108b1611550565b6108bb8282611666565b5050565b6108c7611550565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b158015610908575f5ffd5b505af115801561091a573d5f5f3e3d5ffd5b505050505050565b5f61092b6116d7565b6109358484611751565b9050610940826118ec565b9392505050565b5f33818061095783888888611931565b915091508115801561096d575063ffffffff8116155b156109c057828761097e8888611982565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109cd84898989610f1b565b90505f63ffffffff83161515806109f357506109e882610c1f565b65ffffffffffff1615155b15610a0457610a0182611999565b90505b600354610a1a8a610a158b8b611982565b611a97565b600381905550610a618a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611ad9915050565b5060035598975050505050505050565b610a79611550565b610a8d8383610a878661086f565b84611ba5565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610aff578054610af390600160301b90046001600160701b0316611deb565b91955093509150610b22565b8054610b1a90600160301b90046001600160701b0316611e0c565b919550935091505b5092959194509250565b610b34611550565b6108bb8282611e20565b610b46611ec3565b805f5b81811015610a8d5736848483818110610b6457610b646131e8565b9050602002810190610b769190613217565b90505f610bd4610b896020840184612f1e565b6020840135610b9b6040860186613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a611ecb565b905080610c155783600103610bf057610beb611ee1565b610c15565b82610bfa5f611ef2565b604051635a15467560e01b81526004016109b7929190613277565b5050600101610b49565b5f8181526002602052604081205465ffffffffffff16610c3e81611f23565b610c485780610940565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610cb3575f5ffd5b505af1158015610868573d5f5f3e3d5ffd5b6001600160a01b0381165f908152602081905260408120600101546108a3906001600160701b0316611648565b610cff335f366001611f51565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108f1565b610d5d611550565b6108bb8282612008565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610da9611550565b6001600160401b0383161580610dc757506001600160401b03838116145b15610df05760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610e2b9291906132b7565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610e77573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9b91906132ca565b6001600160e01b03191614610ece57604051630641fee960e31b81526001600160a01b03821660048201526024016109b7565b610868610edd85838686610f1b565b611999565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610f11611550565b6108bb82826120b9565b5f84848484604051602001610f3394939291906132e5565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610f7d57610f7d613369565b604051908082528060200260200182016040528015610fb057816020015b6060815260200190600190039081610f9b5790505b5091505f5b838110156110315761100c30868684818110610fd357610fd36131e8565b9050602002810190610fe59190613235565b85604051602001610ff89392919061337d565b6040516020818303038152906040526121c8565b83828151811061101e5761101e6131e8565b6020908102919091010152600101610fb5565b505092915050565b6110416116d7565b6108688483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250611ad9915050565b5f5f61108d84610ee2565b1561109c57505f9050806110fb565b306001600160a01b038616036110c0576110b6848461224a565b5f915091506110fb565b5f6110cb8585610d67565b90505f5f6110d983896111fd565b91509150816110e9575f5f6110f3565b63ffffffff811615815b945094505050505b935093915050565b61110b611550565b6111158282612260565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561117f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a391906133a0565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611164565b5f8067fffffffffffffffe196001600160401b038516016112235750600190505f61127a565b5f5f61122f8686610a93565b5050915091508165ffffffffffff165f1415801561126f575060ff5f5c168061126f575061125b612349565b65ffffffffffff168265ffffffffffff1611155b9350915061127a9050565b9250929050565b611289611550565b6108bb8282612353565b5f33816112a08585611982565b90505f6112af88888888610f1b565b5f8181526002602052604081205491925065ffffffffffff90911690036112ec5760405163060a299b60e41b8152600481018290526024016109b7565b826001600160a01b0316886001600160a01b031614611385575f6113105f856111fd565b5090505f61132a61132461027c8b87610d67565b866111fd565b50905081158015611339575080155b1561138257604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b0319851660648201526084016109b7565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816113f682898989611931565b9150505f8163ffffffff16611409612349565b61141391906133b7565b905063ffffffff8216158061144957505f8665ffffffffffff1611801561144957508065ffffffffffff168665ffffffffffff16105b1561145a57828961097e8a8a611982565b6114748665ffffffffffff168265ffffffffffff1661240e565b9550611482838a8a8a610f1b565b945061148d8561241d565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611513908a9088908f908f908f906133d5565b60405180910390a350505094509492505050565b6001600160a01b038116331461110b57604051635f159e6360e01b815260040160405180910390fd5b335f8061155e838236612469565b9150915081611115578063ffffffff165f036115b8575f61157f813661252c565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506109b7565b610a8d610edd84305f36610f1b565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f61165c836001600160701b0316611e0c565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906116cb90841515815260200190565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461174f5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016109b7565b565b5f600160ff19825c168117825d505f61176d6060850185613235565b61177b916004915f91613342565b6117849161341a565b90506001600160e01b03198116635b0e93fb60e11b146117c35760405163d4d202fb60e01b81526001600160e01b0319821660048201526024016109b7565b5f6117d16060860186613235565b6117e091602491600491613342565b8101906117ed9190612f1e565b9050306001600160a01b0382160361181857604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c812090611892826118596101008a018a613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061271292505050565b90506118ab816118a560608a018a613235565b5f611f51565b6118bc5760019450505050506118d9565b6118d2816118cd60608a018a613235565b612730565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156118e9576040515f90339083908381818185875af1925050503d805f8114610868576040519150601f19603f3d011682016040523d82523d5f602084013e610868565b5f80306001600160a01b038616036119575761194e868585612469565b91509150611979565b600483106119735761196e86866106eb8787611982565b61194e565b505f9050805b94509492505050565b5f6119906004828486613342565b6109409161341a565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036119e15760405163060a299b60e41b8152600481018590526024016109b7565b6119e9612349565b65ffffffffffff168265ffffffffffff161115611a1c57604051630c65b5bd60e11b8152600481018590526024016109b7565b611a2582611f23565b15611a4657604051631e2975b960e21b8152600481018590526024016109b7565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015611b055760405163cf47918160e01b8152476004820152602481018390526044016109b7565b5f611b118584866127c8565b9050808015611b3257505f3d1180611b3257505f856001600160a01b03163b115b15611b4757611b3f6127dd565b915050610940565b8015611b7157604051639996b31560e01b81526001600160a01b03861660048201526024016109b7565b3d15611b8457611b7f6127f6565b611b9d565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b03861601611be35760405163061c6a4360e21b81526001600160401b03861660048201526024016109b7565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611cd3578463ffffffff16611c2e612349565b611c3891906133b7565b905060405180604001604052808265ffffffffffff168152602001611c668663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611d7d565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611d1c91600160301b9091046001600160701b0316908690612801565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611dff84611dfa6128a7565b6128b6565b9250925092509193909250565b5f5f5f611dff84611e1b612349565b612908565b6001600160401b0382161580611e3e57506001600160401b03828116145b15611e675760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b61174f6116d7565b5f5f5f845160208601878987f195945050505050565b61174f611eed5f611ef2565b612954565b60603d8215611f065782811115611f065750815b604051602082018101604052818152815f602083013e9392505050565b5f611f2c612349565b65ffffffffffff16611f4162093a80846133b7565b65ffffffffffff16111592915050565b5f8080611f6f8730611f666004858a8c613342565b6106eb9161341a565b9150915081611ffb5763ffffffff811615611f9d576040516399ec076b60e01b815260040160405180910390fd5b8315611ff15786611fbe30611fb560045f8a8c613342565b6105809161341a565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b031660248201526044016109b7565b5f92505050610f4c565b5060019695505050505050565b6001600160401b038216158061202657506001600160401b03828116145b1561204f5760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016120f65760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b0382165f9081526001602081905260408220015461212f90600160801b90046001600160701b03168362069780612801565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610e2b908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f6121d5848461295c565b90508080156121f657505f3d11806121f657505f846001600160a01b03163b115b1561220b576122036127dd565b9150506108a3565b801561223557604051639996b31560e01b81526001600160a01b03851660048201526024016109b7565b3d15611b84576122436127f6565b5092915050565b5f6122558383611a97565b600354149392505050565b5f67fffffffffffffffe196001600160401b0384160161229e5760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff1690036122df57505f6108a3565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f6111a34261296f565b6001600160a01b0382165f90815260208190526040812060010154612385906001600160701b03168362069780612801565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610e2b565b5f828218828411028218610940565b5f8181526002602052604090205465ffffffffffff168015801590612448575061244681611f23565b155b156108bb5760405163813e945960e01b8152600481018390526024016109b7565b5f80600483101561247e57505f9050806110fb565b306001600160a01b038616036124a1576110b63061249c8686611982565b61224a565b5f5f5f6124ae878761252c565b925092509250821580156124c657506124c630610ee2565b156124d9575f5f945094505050506110fb565b5f5f6124e5848b6111fd565b91509150816124fe575f5f9650965050505050506110fb565b6125148363ffffffff168263ffffffff1661240e565b63ffffffff8116159b909a5098505050505050505050565b5f8080600484101561254557505f91508190508061270b565b5f6125508686611982565b90506001600160e01b031981166310a6aa3760e31b148061258157506001600160e01b031981166330cae18760e01b145b8061259c57506001600160e01b0319811663294b14a960e11b145b806125b757506001600160e01b03198116635326cae760e11b145b806125d257506001600160e01b0319811663d22b598960e01b145b156125e75760015f5f9350935093505061270b565b6001600160e01b0319811663063fc60f60e21b148061261657506001600160e01b0319811663167bd39560e01b145b8061263157506001600160e01b031981166308d6122d60e01b145b15612670575f61264560246004888a613342565b8101906126529190612f1e565b90505f61265e82610cc5565b600196505f9550935061270b92505050565b6001600160e01b0319811663012e238d60e51b148061269f57506001600160e01b03198116635be958b160e11b145b156126f7575f6126b360246004888a613342565b8101906126c09190612cce565b905060016126e9826001600160401b039081165f90815260016020819052604090912001541690565b5f945094509450505061270b565b5f6127023083610d67565b5f935093509350505b9250925092565b5f5f5f5f61272086866129a5565b92509250925061165c82826129eb565b5f808084600485612741828261332f565b9261274e93929190613342565b81019061275b9190613450565b92505091505f5f61277a88856106eb5f87612aa390919063ffffffff16565b91509150818061278e575063ffffffff8116155b156127ac578161279f5760016127a1565b5f5b945050505050610940565b6127ba610edd898686612b00565b505f98975050505050505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f612816866001600160701b0316611648565b90505f6128518563ffffffff168763ffffffff168463ffffffff161161283c575f612846565b612846888561351b565b63ffffffff1661240e565b90508063ffffffff16612862612349565b61286c91906133b7565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6111a36407915ecc0061296f565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156128f4578282826128f8565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561294357828282612947565b815f5f5b9250925092509250925092565b805160208201fd5b5f5f5f835160208501865af49392505050565b5f65ffffffffffff8211156129a1576040516306dfcc6560e41b815260306004820152602481018390526044016109b7565b5090565b5f5f5f83516041036129dc576020840151604085015160608601515f1a6129ce88828585612b35565b95509550955050505061270b565b505081515f915060029061270b565b5f8260038111156129fe576129fe613537565b03612a07575050565b6001826003811115612a1b57612a1b613537565b03612a395760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612a4d57612a4d613537565b03612a6e5760405163fce698f760e01b8152600481018290526024016109b7565b6003826003811115612a8257612a82613537565b036108bb576040516335e2f38360e21b8152600481018290526024016109b7565b5f612aaf82602061354b565b83511015612af75760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b60448201526064016109b7565b50016020015190565b5f838383604051602001612b169392919061355e565b6040516020818303038152906040528051906020012090509392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612b6e57505f91506003905082612bf3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612bbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612bea57505f925060019150829050612bf3565b92505f91508190505b9450945094915050565b6001600160a01b03811681146118e9575f5ffd5b5f5f83601f840112612c21575f5ffd5b5081356001600160401b03811115612c37575f5ffd5b6020830191508360208260051b850101111561127a575f5ffd5b80356001600160401b0381168114612c67575f5ffd5b919050565b5f5f5f5f60608587031215612c7f575f5ffd5b8435612c8a81612bfd565b935060208501356001600160401b03811115612ca4575f5ffd5b612cb087828801612c11565b9094509250612cc3905060408601612c51565b905092959194509250565b5f60208284031215612cde575f5ffd5b61094082612c51565b5f5f60408385031215612cf8575f5ffd5b8235612d0381612bfd565b915060208301358015158114612d17575f5ffd5b809150509250929050565b5f5f60408385031215612d33575f5ffd5b8235612d3e81612bfd565b91506020830135612d1781612bfd565b5f5f5f60608486031215612d60575f5ffd5b83356001600160401b03811115612d75575f5ffd5b84016101208187031215612d87575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612dac575f5ffd5b5081356001600160401b03811115612dc2575f5ffd5b60208301915083602082850101111561127a575f5ffd5b5f5f5f60408486031215612deb575f5ffd5b8335612df681612bfd565b925060208401356001600160401b03811115612e10575f5ffd5b612e1c86828701612d9c565b9497909650939450505050565b803563ffffffff81168114612c67575f5ffd5b5f5f5f60608486031215612e4e575f5ffd5b612e5784612c51565b92506020840135612e6781612bfd565b9150612e7560408501612e29565b90509250925092565b5f5f60408385031215612e8f575f5ffd5b612d3e83612c51565b5f5f60408385031215612ea9575f5ffd5b612eb283612c51565b9150612ec060208401612c51565b90509250929050565b5f5f60208385031215612eda575f5ffd5b82356001600160401b03811115612eef575f5ffd5b612efb85828601612c11565b90969095509350505050565b5f60208284031215612f17575f5ffd5b5035919050565b5f60208284031215612f2e575f5ffd5b813561094081612bfd565b5f5f60408385031215612f4a575f5ffd5b8235612f5581612bfd565b946020939093013593505050565b6001600160e01b0319811681146118e9575f5ffd5b5f5f60408385031215612f89575f5ffd5b8235612f9481612bfd565b91506020830135612d1781612f63565b5f5f5f60408486031215612fb6575f5ffd5b612df684612c51565b5f5f60408385031215612fd0575f5ffd5b612fd983612c51565b9150612ec060208401612e29565b5f5f5f5f60608587031215612ffa575f5ffd5b843561300581612bfd565b9350602085013561301581612bfd565b925060408501356001600160401b0381111561302f575f5ffd5b61303b87828801612d9c565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156130cc57603f198786030184526130b7858351613047565b9450602093840193919091019060010161309b565b50929695505050505050565b5f5f5f5f606085870312156130eb575f5ffd5b84356130f681612bfd565b93506020850135925060408501356001600160401b0381111561302f575f5ffd5b5f5f5f60608486031215613129575f5ffd5b833561313481612bfd565b9250602084013561314481612bfd565b9150604084013561315481612f63565b809150509250925092565b5f5f60408385031215613170575f5ffd5b8235612fd981612bfd565b5f5f5f5f6060858703121561318e575f5ffd5b843561319981612bfd565b935060208501356001600160401b038111156131b3575f5ffd5b6131bf87828801612d9c565b909450925050604085013565ffffffffffff811681146131dd575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561320c575f5ffd5b813561094081612f63565b5f8235605e1983360301811261322b575f5ffd5b9190910192915050565b5f5f8335601e1984360301811261324a575f5ffd5b8301803591506001600160401b03821115613263575f5ffd5b60200191503681900382131561127a575f5ffd5b828152604060208201525f610f4c6040830184613047565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610f4c60208301848661328f565b5f602082840312156132da575f5ffd5b815161094081612f63565b6001600160a01b038581168252841660208201526060604082018190525f90613311908301848661328f565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108a3576108a361331b565b5f5f85851115613350575f5ffd5b8386111561335c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b5f602082840312156133b0575f5ffd5b5051919050565b65ffffffffffff81811683821601908111156108a3576108a361331b565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061340f908301848661328f565b979650505050505050565b80356001600160e01b03198116906004841015612243576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f60608486031215613462575f5ffd5b833561346d81612bfd565b92506020840135915060408401356001600160401b0381111561348e575f5ffd5b8401601f8101861361349e575f5ffd5b80356001600160401b038111156134b7576134b7613369565b604051601f8201601f19908116603f011681016001600160401b03811182821017156134e5576134e5613369565b6040528181528282016020018810156134fc575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff82811682821603908111156108a3576108a361331b565b634e487b7160e01b5f52602160045260245ffd5b808201808211156108a3576108a361331b565b6001600160a01b038481168252831660208201526060604082018190525f9061358990830184613047565b9594505050505056fea2646970667358221220fbb8331fd2c088fe935f246f484ac181ab19a275a04067986cfcefae4efd44a064736f6c634300081e0033",
|
|
1438
|
+
"deployedBytecode": "0x608060405260043610610236575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee14610768578063d22b598914610787578063d6bb62c6146107a6578063f801a698146107c5578063fe0776f5146107fe575f5ffd5b8063b7009613146106d1578063b7d2b1621461070c578063c399ec881461072b578063cc1b6c811461073f578063d087d28814610754575f5ffd5b8063a64d95ce116100ee578063a64d95ce14610605578063abd9bd2a14610624578063ac9650d814610643578063b0d691fe1461066f578063b61d27f6146106b2575f5ffd5b80636d5115bd1461056657806375b238fc14610585578063853551b81461059857806394c7d7ee146105b7578063a166aa89146105d6575f5ffd5b806334fcd5be116101b55780634a58db191161017a5780634a58db19146104c65780634c1da1e2146104ce5780634d44560d146104ed578063529629521461050c578063530dd4561461052b575f5ffd5b806334fcd5be1461040a5780633adc277a146104295780633ca7c02a1461045f5780634136a33c146104795780634665096d146104b1575f5ffd5b806319822f7c116101fb57806319822f7c146103335780631cff79cd1461036057806325c471a0146103735780633078f1141461039257806330cae187146103eb575f5ffd5b806308d6122d146102415780630b0a93ba1461026257806312be8727146102c1578063167bd395146102f557806318ff183c14610314575f5ffd5b3661023d57005b5f5ffd5b34801561024c575f5ffd5b5061026061025b366004612c6c565b61081d565b005b34801561026d575f5ffd5b506102a461027c366004612cce565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102cc575f5ffd5b506102e06102db366004612cce565b61086f565b60405163ffffffff90911681526020016102b8565b348015610300575f5ffd5b5061026061030f366004612ce7565b6108a9565b34801561031f575f5ffd5b5061026061032e366004612d22565b6108bf565b34801561033e575f5ffd5b5061035261034d366004612d4e565b610922565b6040519081526020016102b8565b6102e061036e366004612dd9565b610947565b34801561037e575f5ffd5b5061026061038d366004612e3c565b610a71565b34801561039d575f5ffd5b506103b16103ac366004612e7e565b610a93565b6040516102b8949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103f6575f5ffd5b50610260610405366004612e98565b610b2c565b348015610415575f5ffd5b50610260610424366004612ec9565b610b3e565b348015610434575f5ffd5b50610448610443366004612f07565b610c1f565b60405165ffffffffffff90911681526020016102b8565b34801561046a575f5ffd5b506102a46001600160401b0381565b348015610484575f5ffd5b506102e0610493366004612f07565b5f90815260026020526040902054600160301b900463ffffffff1690565b3480156104bc575f5ffd5b5062093a806102e0565b610260610c50565b3480156104d9575f5ffd5b506102e06104e8366004612f1e565b610cc5565b3480156104f8575f5ffd5b50610260610507366004612f39565b610cf2565b348015610517575f5ffd5b50610260610526366004612e98565b610d55565b348015610536575f5ffd5b506102a4610545366004612cce565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610571575f5ffd5b506102a4610580366004612f78565b610d67565b348015610590575f5ffd5b506102a45f81565b3480156105a3575f5ffd5b506102606105b2366004612fa4565b610da1565b3480156105c2575f5ffd5b506102606105d1366004612dd9565b610e38565b3480156105e1575f5ffd5b506105f56105f0366004612f1e565b610ee2565b60405190151581526020016102b8565b348015610610575f5ffd5b5061026061061f366004612fbf565b610f09565b34801561062f575f5ffd5b5061035261063e366004612fe7565b610f1b565b34801561064e575f5ffd5b5061066261065d366004612ec9565b610f54565b6040516102b89190613075565b34801561067a575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102b8565b3480156106bd575f5ffd5b506102606106cc3660046130d8565b611039565b3480156106dc575f5ffd5b506106f06106eb366004613117565b611082565b60408051921515835263ffffffff9091166020830152016102b8565b348015610717575f5ffd5b50610260610726366004612e7e565b611103565b348015610736575f5ffd5b5061035261111a565b34801561074a575f5ffd5b50620697806102e0565b34801561075f575f5ffd5b506103526111a8565b348015610773575f5ffd5b506106f0610782366004612e7e565b6111fd565b348015610792575f5ffd5b506102606107a136600461315f565b611281565b3480156107b1575f5ffd5b506102e06107c0366004612fe7565b611293565b3480156107d0575f5ffd5b506107e46107df36600461317b565b6113e6565b6040805192835263ffffffff9091166020830152016102b8565b348015610809575f5ffd5b50610260610818366004612e7e565b611527565b610825611550565b5f5b828110156108685761086085858584818110610845576108456131e8565b905060200201602081019061085a91906131fc565b846115c7565b600101610827565b5050505050565b6001600160401b0381165f908152600160208190526040822001546108a390600160801b90046001600160701b0316611648565b92915050565b6108b1611550565b6108bb8282611666565b5050565b6108c7611550565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b158015610908575f5ffd5b505af115801561091a573d5f5f3e3d5ffd5b505050505050565b5f61092b6116d7565b6109358484611751565b9050610940826118ec565b9392505050565b5f33818061095783888888611931565b915091508115801561096d575063ffffffff8116155b156109c057828761097e8888611982565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109cd84898989610f1b565b90505f63ffffffff83161515806109f357506109e882610c1f565b65ffffffffffff1615155b15610a0457610a0182611999565b90505b600354610a1a8a610a158b8b611982565b611a97565b600381905550610a618a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611ad9915050565b5060035598975050505050505050565b610a79611550565b610a8d8383610a878661086f565b84611ba5565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610aff578054610af390600160301b90046001600160701b0316611deb565b91955093509150610b22565b8054610b1a90600160301b90046001600160701b0316611e0c565b919550935091505b5092959194509250565b610b34611550565b6108bb8282611e20565b610b46611ec3565b805f5b81811015610a8d5736848483818110610b6457610b646131e8565b9050602002810190610b769190613217565b90505f610bd4610b896020840184612f1e565b6020840135610b9b6040860186613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a611ecb565b905080610c155783600103610bf057610beb611ee1565b610c15565b82610bfa5f611ef2565b604051635a15467560e01b81526004016109b7929190613277565b5050600101610b49565b5f8181526002602052604081205465ffffffffffff16610c3e81611f23565b610c485780610940565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610cb3575f5ffd5b505af1158015610868573d5f5f3e3d5ffd5b6001600160a01b0381165f908152602081905260408120600101546108a3906001600160701b0316611648565b610cff335f366001611f51565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108f1565b610d5d611550565b6108bb8282612008565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610da9611550565b6001600160401b0383161580610dc757506001600160401b03838116145b15610df05760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610e2b9291906132b7565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610e77573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9b91906132ca565b6001600160e01b03191614610ece57604051630641fee960e31b81526001600160a01b03821660048201526024016109b7565b610868610edd85838686610f1b565b611999565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610f11611550565b6108bb82826120b9565b5f84848484604051602001610f3394939291906132e5565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610f7d57610f7d613369565b604051908082528060200260200182016040528015610fb057816020015b6060815260200190600190039081610f9b5790505b5091505f5b838110156110315761100c30868684818110610fd357610fd36131e8565b9050602002810190610fe59190613235565b85604051602001610ff89392919061337d565b6040516020818303038152906040526121c8565b83828151811061101e5761101e6131e8565b6020908102919091010152600101610fb5565b505092915050565b6110416116d7565b6108688483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250611ad9915050565b5f5f61108d84610ee2565b1561109c57505f9050806110fb565b306001600160a01b038616036110c0576110b6848461224a565b5f915091506110fb565b5f6110cb8585610d67565b90505f5f6110d983896111fd565b91509150816110e9575f5f6110f3565b63ffffffff811615815b945094505050505b935093915050565b61110b611550565b6111158282612260565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561117f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a391906133a0565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611164565b5f8067fffffffffffffffe196001600160401b038516016112235750600190505f61127a565b5f5f61122f8686610a93565b5050915091508165ffffffffffff165f1415801561126f575060ff5f5c168061126f575061125b612349565b65ffffffffffff168265ffffffffffff1611155b9350915061127a9050565b9250929050565b611289611550565b6108bb8282612353565b5f33816112a08585611982565b90505f6112af88888888610f1b565b5f8181526002602052604081205491925065ffffffffffff90911690036112ec5760405163060a299b60e41b8152600481018290526024016109b7565b826001600160a01b0316886001600160a01b031614611385575f6113105f856111fd565b5090505f61132a61132461027c8b87610d67565b866111fd565b50905081158015611339575080155b1561138257604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b0319851660648201526084016109b7565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816113f682898989611931565b9150505f8163ffffffff16611409612349565b61141391906133b7565b905063ffffffff8216158061144957505f8665ffffffffffff1611801561144957508065ffffffffffff168665ffffffffffff16105b1561145a57828961097e8a8a611982565b6114748665ffffffffffff168265ffffffffffff1661240e565b9550611482838a8a8a610f1b565b945061148d8561241d565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611513908a9088908f908f908f906133d5565b60405180910390a350505094509492505050565b6001600160a01b038116331461110b57604051635f159e6360e01b815260040160405180910390fd5b335f8061155e838236612469565b9150915081611115578063ffffffff165f036115b8575f61157f813661252c565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506109b7565b610a8d610edd84305f36610f1b565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f61165c836001600160701b0316611e0c565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906116cb90841515815260200190565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461174f5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016109b7565b565b5f600160ff19825c168117825d505f61176d6060850185613235565b61177b916004915f91613342565b6117849161341a565b90506001600160e01b03198116635b0e93fb60e11b146117c35760405163d4d202fb60e01b81526001600160e01b0319821660048201526024016109b7565b5f6117d16060860186613235565b6117e091602491600491613342565b8101906117ed9190612f1e565b9050306001600160a01b0382160361181857604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c812090611892826118596101008a018a613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061271292505050565b90506118ab816118a560608a018a613235565b5f611f51565b6118bc5760019450505050506118d9565b6118d2816118cd60608a018a613235565b612730565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156118e9576040515f90339083908381818185875af1925050503d805f8114610868576040519150601f19603f3d011682016040523d82523d5f602084013e610868565b5f80306001600160a01b038616036119575761194e868585612469565b91509150611979565b600483106119735761196e86866106eb8787611982565b61194e565b505f9050805b94509492505050565b5f6119906004828486613342565b6109409161341a565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036119e15760405163060a299b60e41b8152600481018590526024016109b7565b6119e9612349565b65ffffffffffff168265ffffffffffff161115611a1c57604051630c65b5bd60e11b8152600481018590526024016109b7565b611a2582611f23565b15611a4657604051631e2975b960e21b8152600481018590526024016109b7565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015611b055760405163cf47918160e01b8152476004820152602481018390526044016109b7565b5f611b118584866127c8565b9050808015611b3257505f3d1180611b3257505f856001600160a01b03163b115b15611b4757611b3f6127dd565b915050610940565b8015611b7157604051639996b31560e01b81526001600160a01b03861660048201526024016109b7565b3d15611b8457611b7f6127f6565b611b9d565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b03861601611be35760405163061c6a4360e21b81526001600160401b03861660048201526024016109b7565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611cd3578463ffffffff16611c2e612349565b611c3891906133b7565b905060405180604001604052808265ffffffffffff168152602001611c668663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611d7d565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611d1c91600160301b9091046001600160701b0316908690612801565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611dff84611dfa6128a7565b6128b6565b9250925092509193909250565b5f5f5f611dff84611e1b612349565b612908565b6001600160401b0382161580611e3e57506001600160401b03828116145b15611e675760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b61174f6116d7565b5f5f5f845160208601878987f195945050505050565b61174f611eed5f611ef2565b612954565b60603d8215611f065782811115611f065750815b604051602082018101604052818152815f602083013e9392505050565b5f611f2c612349565b65ffffffffffff16611f4162093a80846133b7565b65ffffffffffff16111592915050565b5f8080611f6f8730611f666004858a8c613342565b6106eb9161341a565b9150915081611ffb5763ffffffff811615611f9d576040516399ec076b60e01b815260040160405180910390fd5b8315611ff15786611fbe30611fb560045f8a8c613342565b6105809161341a565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b031660248201526044016109b7565b5f92505050610f4c565b5060019695505050505050565b6001600160401b038216158061202657506001600160401b03828116145b1561204f5760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016120f65760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b0382165f9081526001602081905260408220015461212f90600160801b90046001600160701b03168362069780612801565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610e2b908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f6121d5848461295c565b90508080156121f657505f3d11806121f657505f846001600160a01b03163b115b1561220b576122036127dd565b9150506108a3565b801561223557604051639996b31560e01b81526001600160a01b03851660048201526024016109b7565b3d15611b84576122436127f6565b5092915050565b5f6122558383611a97565b600354149392505050565b5f67fffffffffffffffe196001600160401b0384160161229e5760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff1690036122df57505f6108a3565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f6111a34261296f565b6001600160a01b0382165f90815260208190526040812060010154612385906001600160701b03168362069780612801565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610e2b565b5f828218828411028218610940565b5f8181526002602052604090205465ffffffffffff168015801590612448575061244681611f23565b155b156108bb5760405163813e945960e01b8152600481018390526024016109b7565b5f80600483101561247e57505f9050806110fb565b306001600160a01b038616036124a1576110b63061249c8686611982565b61224a565b5f5f5f6124ae878761252c565b925092509250821580156124c657506124c630610ee2565b156124d9575f5f945094505050506110fb565b5f5f6124e5848b6111fd565b91509150816124fe575f5f9650965050505050506110fb565b6125148363ffffffff168263ffffffff1661240e565b63ffffffff8116159b909a5098505050505050505050565b5f8080600484101561254557505f91508190508061270b565b5f6125508686611982565b90506001600160e01b031981166310a6aa3760e31b148061258157506001600160e01b031981166330cae18760e01b145b8061259c57506001600160e01b0319811663294b14a960e11b145b806125b757506001600160e01b03198116635326cae760e11b145b806125d257506001600160e01b0319811663d22b598960e01b145b156125e75760015f5f9350935093505061270b565b6001600160e01b0319811663063fc60f60e21b148061261657506001600160e01b0319811663167bd39560e01b145b8061263157506001600160e01b031981166308d6122d60e01b145b15612670575f61264560246004888a613342565b8101906126529190612f1e565b90505f61265e82610cc5565b600196505f9550935061270b92505050565b6001600160e01b0319811663012e238d60e51b148061269f57506001600160e01b03198116635be958b160e11b145b156126f7575f6126b360246004888a613342565b8101906126c09190612cce565b905060016126e9826001600160401b039081165f90815260016020819052604090912001541690565b5f945094509450505061270b565b5f6127023083610d67565b5f935093509350505b9250925092565b5f5f5f5f61272086866129a5565b92509250925061165c82826129eb565b5f808084600485612741828261332f565b9261274e93929190613342565b81019061275b9190613450565b92505091505f5f61277a88856106eb5f87612aa390919063ffffffff16565b91509150818061278e575063ffffffff8116155b156127ac578161279f5760016127a1565b5f5b945050505050610940565b6127ba610edd898686612b00565b505f98975050505050505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f612816866001600160701b0316611648565b90505f6128518563ffffffff168763ffffffff168463ffffffff161161283c575f612846565b612846888561351b565b63ffffffff1661240e565b90508063ffffffff16612862612349565b61286c91906133b7565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6111a36407915ecc0061296f565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156128f4578282826128f8565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561294357828282612947565b815f5f5b9250925092509250925092565b805160208201fd5b5f5f5f835160208501865af49392505050565b5f65ffffffffffff8211156129a1576040516306dfcc6560e41b815260306004820152602481018390526044016109b7565b5090565b5f5f5f83516041036129dc576020840151604085015160608601515f1a6129ce88828585612b35565b95509550955050505061270b565b505081515f915060029061270b565b5f8260038111156129fe576129fe613537565b03612a07575050565b6001826003811115612a1b57612a1b613537565b03612a395760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612a4d57612a4d613537565b03612a6e5760405163fce698f760e01b8152600481018290526024016109b7565b6003826003811115612a8257612a82613537565b036108bb576040516335e2f38360e21b8152600481018290526024016109b7565b5f612aaf82602061354b565b83511015612af75760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b60448201526064016109b7565b50016020015190565b5f838383604051602001612b169392919061355e565b6040516020818303038152906040528051906020012090509392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612b6e57505f91506003905082612bf3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612bbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612bea57505f925060019150829050612bf3565b92505f91508190505b9450945094915050565b6001600160a01b03811681146118e9575f5ffd5b5f5f83601f840112612c21575f5ffd5b5081356001600160401b03811115612c37575f5ffd5b6020830191508360208260051b850101111561127a575f5ffd5b80356001600160401b0381168114612c67575f5ffd5b919050565b5f5f5f5f60608587031215612c7f575f5ffd5b8435612c8a81612bfd565b935060208501356001600160401b03811115612ca4575f5ffd5b612cb087828801612c11565b9094509250612cc3905060408601612c51565b905092959194509250565b5f60208284031215612cde575f5ffd5b61094082612c51565b5f5f60408385031215612cf8575f5ffd5b8235612d0381612bfd565b915060208301358015158114612d17575f5ffd5b809150509250929050565b5f5f60408385031215612d33575f5ffd5b8235612d3e81612bfd565b91506020830135612d1781612bfd565b5f5f5f60608486031215612d60575f5ffd5b83356001600160401b03811115612d75575f5ffd5b84016101208187031215612d87575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612dac575f5ffd5b5081356001600160401b03811115612dc2575f5ffd5b60208301915083602082850101111561127a575f5ffd5b5f5f5f60408486031215612deb575f5ffd5b8335612df681612bfd565b925060208401356001600160401b03811115612e10575f5ffd5b612e1c86828701612d9c565b9497909650939450505050565b803563ffffffff81168114612c67575f5ffd5b5f5f5f60608486031215612e4e575f5ffd5b612e5784612c51565b92506020840135612e6781612bfd565b9150612e7560408501612e29565b90509250925092565b5f5f60408385031215612e8f575f5ffd5b612d3e83612c51565b5f5f60408385031215612ea9575f5ffd5b612eb283612c51565b9150612ec060208401612c51565b90509250929050565b5f5f60208385031215612eda575f5ffd5b82356001600160401b03811115612eef575f5ffd5b612efb85828601612c11565b90969095509350505050565b5f60208284031215612f17575f5ffd5b5035919050565b5f60208284031215612f2e575f5ffd5b813561094081612bfd565b5f5f60408385031215612f4a575f5ffd5b8235612f5581612bfd565b946020939093013593505050565b6001600160e01b0319811681146118e9575f5ffd5b5f5f60408385031215612f89575f5ffd5b8235612f9481612bfd565b91506020830135612d1781612f63565b5f5f5f60408486031215612fb6575f5ffd5b612df684612c51565b5f5f60408385031215612fd0575f5ffd5b612fd983612c51565b9150612ec060208401612e29565b5f5f5f5f60608587031215612ffa575f5ffd5b843561300581612bfd565b9350602085013561301581612bfd565b925060408501356001600160401b0381111561302f575f5ffd5b61303b87828801612d9c565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156130cc57603f198786030184526130b7858351613047565b9450602093840193919091019060010161309b565b50929695505050505050565b5f5f5f5f606085870312156130eb575f5ffd5b84356130f681612bfd565b93506020850135925060408501356001600160401b0381111561302f575f5ffd5b5f5f5f60608486031215613129575f5ffd5b833561313481612bfd565b9250602084013561314481612bfd565b9150604084013561315481612f63565b809150509250925092565b5f5f60408385031215613170575f5ffd5b8235612fd981612bfd565b5f5f5f5f6060858703121561318e575f5ffd5b843561319981612bfd565b935060208501356001600160401b038111156131b3575f5ffd5b6131bf87828801612d9c565b909450925050604085013565ffffffffffff811681146131dd575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561320c575f5ffd5b813561094081612f63565b5f8235605e1983360301811261322b575f5ffd5b9190910192915050565b5f5f8335601e1984360301811261324a575f5ffd5b8301803591506001600160401b03821115613263575f5ffd5b60200191503681900382131561127a575f5ffd5b828152604060208201525f610f4c6040830184613047565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610f4c60208301848661328f565b5f602082840312156132da575f5ffd5b815161094081612f63565b6001600160a01b038581168252841660208201526060604082018190525f90613311908301848661328f565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108a3576108a361331b565b5f5f85851115613350575f5ffd5b8386111561335c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b5f602082840312156133b0575f5ffd5b5051919050565b65ffffffffffff81811683821601908111156108a3576108a361331b565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061340f908301848661328f565b979650505050505050565b80356001600160e01b03198116906004841015612243576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f60608486031215613462575f5ffd5b833561346d81612bfd565b92506020840135915060408401356001600160401b0381111561348e575f5ffd5b8401601f8101861361349e575f5ffd5b80356001600160401b038111156134b7576134b7613369565b604051601f8201601f19908116603f011681016001600160401b03811182821017156134e5576134e5613369565b6040528181528282016020018810156134fc575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff82811682821603908111156108a3576108a361331b565b634e487b7160e01b5f52602160045260245ffd5b808201808211156108a3576108a361331b565b6001600160a01b038481168252831660208201526060604082018190525f9061358990830184613047565b9594505050505056fea2646970667358221220fbb8331fd2c088fe935f246f484ac181ab19a275a04067986cfcefae4efd44a064736f6c634300081e0033",
|
|
1393
1439
|
"linkReferences": {},
|
|
1394
|
-
"deployedLinkReferences": {}
|
|
1395
|
-
|
|
1440
|
+
"deployedLinkReferences": {},
|
|
1441
|
+
"immutableReferences": {
|
|
1442
|
+
"11905": [
|
|
1443
|
+
{
|
|
1444
|
+
"length": 32,
|
|
1445
|
+
"start": 1672
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
"length": 32,
|
|
1449
|
+
"start": 3154
|
|
1450
|
+
},
|
|
1451
|
+
{
|
|
1452
|
+
"length": 32,
|
|
1453
|
+
"start": 3366
|
|
1454
|
+
},
|
|
1455
|
+
{
|
|
1456
|
+
"length": 32,
|
|
1457
|
+
"start": 4409
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
"length": 32,
|
|
1461
|
+
"start": 4558
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"length": 32,
|
|
1465
|
+
"start": 5858
|
|
1466
|
+
}
|
|
1467
|
+
]
|
|
1468
|
+
},
|
|
1469
|
+
"inputSourceName": "project/contracts/AccessManagerAccount.sol",
|
|
1470
|
+
"buildInfoId": "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865"
|
|
1471
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// This file was autogenerated by Hardhat, do not edit it.
|
|
2
|
+
// prettier-ignore
|
|
3
|
+
// tslint:disable
|
|
4
|
+
// eslint-disable
|
|
5
|
+
// biome-ignore format: see above
|
|
6
|
+
|
|
7
|
+
export interface AccessManagerAccount$Type {
|
|
8
|
+
readonly _format: "hh3-artifact-1";
|
|
9
|
+
readonly contractName: "AccessManagerAccount";
|
|
10
|
+
readonly sourceName: "contracts/AccessManagerAccount.sol";
|
|
11
|
+
readonly abi: [{"inputs":[{"internalType":"contract IEntryPoint","name":"anEntryPoint","type":"address"},{"internalType":"address","name":"initialAdmin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerAlreadyScheduled","type":"error"},{"inputs":[],"name":"AccessManagerBadConfirmation","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerExpired","type":"error"},{"inputs":[{"internalType":"address","name":"initialAdmin","type":"address"}],"name":"AccessManagerInvalidInitialAdmin","type":"error"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"AccessManagerLockedRole","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerNotReady","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerNotScheduled","type":"error"},{"inputs":[{"internalType":"address","name":"msgsender","type":"address"},{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"AccessManagerUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"AccessManagerUnauthorizedCall","type":"error"},{"inputs":[{"internalType":"address","name":"msgsender","type":"address"},{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"AccessManagerUnauthorizedCancel","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AccessManagerUnauthorizedConsume","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"DelayNotAllowed","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes","name":"error","type":"bytes"}],"name":"ExecuteError","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[{"internalType":"bytes4","name":"receivedSelector","type":"bytes4"}],"name":"OnlyExecuteAllowedFromEntryPoint","type":"error"},{"inputs":[],"name":"OnlyExternalTargets","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"}],"name":"OperationCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"}],"name":"OperationExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"schedule","type":"uint48"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"OperationScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"admin","type":"uint64"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"}],"name":"RoleGrantDelayChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"},{"indexed":false,"internalType":"bool","name":"newMember","type":"bool"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"guardian","type":"uint64"}],"name":"RoleGuardianChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":false,"internalType":"string","name":"label","type":"string"}],"name":"RoleLabel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"}],"name":"TargetAdminDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"closed","type":"bool"}],"name":"TargetClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"TargetFunctionRoleUpdated","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PUBLIC_ROLE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"canCall","outputs":[{"internalType":"bool","name":"immediate","type":"bool"},{"internalType":"uint32","name":"delay","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"cancel","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"consumeScheduledOp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"dest","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"func","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct BaseAccount.Call[]","name":"calls","type":"tuple[]"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"expiration","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"getAccess","outputs":[{"internalType":"uint48","name":"since","type":"uint48"},{"internalType":"uint32","name":"currentDelay","type":"uint32"},{"internalType":"uint32","name":"pendingDelay","type":"uint32"},{"internalType":"uint48","name":"effect","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleAdmin","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleGrantDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleGuardian","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getSchedule","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"getTargetAdminDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getTargetFunctionRole","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"executionDelay","type":"uint32"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"isMember","type":"bool"},{"internalType":"uint32","name":"executionDelay","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"hashOperation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"isTargetClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"string","name":"label","type":"string"}],"name":"labelRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minSetback","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint48","name":"when","type":"uint48"}],"name":"schedule","outputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"},{"internalType":"uint32","name":"nonce","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint32","name":"newDelay","type":"uint32"}],"name":"setGrantDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint64","name":"admin","type":"uint64"}],"name":"setRoleAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint64","name":"guardian","type":"uint64"}],"name":"setRoleGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint32","name":"newDelay","type":"uint32"}],"name":"setTargetAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"closed","type":"bool"}],"name":"setTargetClosed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"},{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"setTargetFunctionRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"newAuthority","type":"address"}],"name":"updateAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDepositTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}];
|
|
12
|
+
readonly bytecode: "0x60a060405234801561000f575f5ffd5b50604051613aef380380613aef83398101604081905261002e91610466565b806001600160a01b03811661005d57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100695f82818061007d565b5050506001600160a01b03166080526104ec565b5f6002600160401b03196001600160401b038616016100ba5760405163061c6a4360e21b81526001600160401b0386166004820152602401610054565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101af5763ffffffff85166101056102c3565b61010f91906104b2565b905060405180604001604052808265ffffffffffff16815260200161013f8663ffffffff166102d260201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610255565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101fb9166010000000000009091046001600160701b03169086906102db565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102cd42610381565b905090565b63ffffffff1690565b5f80806102f06001600160701b0387166103b7565b90505f61032b8563ffffffff168763ffffffff168463ffffffff1611610316575f610320565b61032088856104d0565b63ffffffff166103d5565b905063ffffffff811661033c6102c3565b61034691906104b2565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103b3576040516306dfcc6560e41b81526030600482015260248101839052604401610054565b5090565b5f806103cb6001600160701b0384166103e5565b5090949350505050565b8082118183180281185b92915050565b5f80806103f9846103f46102c3565b610406565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043e57828282610442565b815f5f5b9250925092509250925092565b6001600160a01b0381168114610463575f5ffd5b50565b5f5f60408385031215610477575f5ffd5b82516104828161044f565b60208401519092506104938161044f565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103df576103df61049e565b63ffffffff82811682821603908111156103df576103df61049e565b6080516135c86105275f395f818161068801528181610c5201528181610d2601528181611139015281816111ce01526116e201526135c85ff3fe608060405260043610610236575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee14610768578063d22b598914610787578063d6bb62c6146107a6578063f801a698146107c5578063fe0776f5146107fe575f5ffd5b8063b7009613146106d1578063b7d2b1621461070c578063c399ec881461072b578063cc1b6c811461073f578063d087d28814610754575f5ffd5b8063a64d95ce116100ee578063a64d95ce14610605578063abd9bd2a14610624578063ac9650d814610643578063b0d691fe1461066f578063b61d27f6146106b2575f5ffd5b80636d5115bd1461056657806375b238fc14610585578063853551b81461059857806394c7d7ee146105b7578063a166aa89146105d6575f5ffd5b806334fcd5be116101b55780634a58db191161017a5780634a58db19146104c65780634c1da1e2146104ce5780634d44560d146104ed578063529629521461050c578063530dd4561461052b575f5ffd5b806334fcd5be1461040a5780633adc277a146104295780633ca7c02a1461045f5780634136a33c146104795780634665096d146104b1575f5ffd5b806319822f7c116101fb57806319822f7c146103335780631cff79cd1461036057806325c471a0146103735780633078f1141461039257806330cae187146103eb575f5ffd5b806308d6122d146102415780630b0a93ba1461026257806312be8727146102c1578063167bd395146102f557806318ff183c14610314575f5ffd5b3661023d57005b5f5ffd5b34801561024c575f5ffd5b5061026061025b366004612c6c565b61081d565b005b34801561026d575f5ffd5b506102a461027c366004612cce565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102cc575f5ffd5b506102e06102db366004612cce565b61086f565b60405163ffffffff90911681526020016102b8565b348015610300575f5ffd5b5061026061030f366004612ce7565b6108a9565b34801561031f575f5ffd5b5061026061032e366004612d22565b6108bf565b34801561033e575f5ffd5b5061035261034d366004612d4e565b610922565b6040519081526020016102b8565b6102e061036e366004612dd9565b610947565b34801561037e575f5ffd5b5061026061038d366004612e3c565b610a71565b34801561039d575f5ffd5b506103b16103ac366004612e7e565b610a93565b6040516102b8949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103f6575f5ffd5b50610260610405366004612e98565b610b2c565b348015610415575f5ffd5b50610260610424366004612ec9565b610b3e565b348015610434575f5ffd5b50610448610443366004612f07565b610c1f565b60405165ffffffffffff90911681526020016102b8565b34801561046a575f5ffd5b506102a46001600160401b0381565b348015610484575f5ffd5b506102e0610493366004612f07565b5f90815260026020526040902054600160301b900463ffffffff1690565b3480156104bc575f5ffd5b5062093a806102e0565b610260610c50565b3480156104d9575f5ffd5b506102e06104e8366004612f1e565b610cc5565b3480156104f8575f5ffd5b50610260610507366004612f39565b610cf2565b348015610517575f5ffd5b50610260610526366004612e98565b610d55565b348015610536575f5ffd5b506102a4610545366004612cce565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610571575f5ffd5b506102a4610580366004612f78565b610d67565b348015610590575f5ffd5b506102a45f81565b3480156105a3575f5ffd5b506102606105b2366004612fa4565b610da1565b3480156105c2575f5ffd5b506102606105d1366004612dd9565b610e38565b3480156105e1575f5ffd5b506105f56105f0366004612f1e565b610ee2565b60405190151581526020016102b8565b348015610610575f5ffd5b5061026061061f366004612fbf565b610f09565b34801561062f575f5ffd5b5061035261063e366004612fe7565b610f1b565b34801561064e575f5ffd5b5061066261065d366004612ec9565b610f54565b6040516102b89190613075565b34801561067a575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102b8565b3480156106bd575f5ffd5b506102606106cc3660046130d8565b611039565b3480156106dc575f5ffd5b506106f06106eb366004613117565b611082565b60408051921515835263ffffffff9091166020830152016102b8565b348015610717575f5ffd5b50610260610726366004612e7e565b611103565b348015610736575f5ffd5b5061035261111a565b34801561074a575f5ffd5b50620697806102e0565b34801561075f575f5ffd5b506103526111a8565b348015610773575f5ffd5b506106f0610782366004612e7e565b6111fd565b348015610792575f5ffd5b506102606107a136600461315f565b611281565b3480156107b1575f5ffd5b506102e06107c0366004612fe7565b611293565b3480156107d0575f5ffd5b506107e46107df36600461317b565b6113e6565b6040805192835263ffffffff9091166020830152016102b8565b348015610809575f5ffd5b50610260610818366004612e7e565b611527565b610825611550565b5f5b828110156108685761086085858584818110610845576108456131e8565b905060200201602081019061085a91906131fc565b846115c7565b600101610827565b5050505050565b6001600160401b0381165f908152600160208190526040822001546108a390600160801b90046001600160701b0316611648565b92915050565b6108b1611550565b6108bb8282611666565b5050565b6108c7611550565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b158015610908575f5ffd5b505af115801561091a573d5f5f3e3d5ffd5b505050505050565b5f61092b6116d7565b6109358484611751565b9050610940826118ec565b9392505050565b5f33818061095783888888611931565b915091508115801561096d575063ffffffff8116155b156109c057828761097e8888611982565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109cd84898989610f1b565b90505f63ffffffff83161515806109f357506109e882610c1f565b65ffffffffffff1615155b15610a0457610a0182611999565b90505b600354610a1a8a610a158b8b611982565b611a97565b600381905550610a618a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611ad9915050565b5060035598975050505050505050565b610a79611550565b610a8d8383610a878661086f565b84611ba5565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610aff578054610af390600160301b90046001600160701b0316611deb565b91955093509150610b22565b8054610b1a90600160301b90046001600160701b0316611e0c565b919550935091505b5092959194509250565b610b34611550565b6108bb8282611e20565b610b46611ec3565b805f5b81811015610a8d5736848483818110610b6457610b646131e8565b9050602002810190610b769190613217565b90505f610bd4610b896020840184612f1e565b6020840135610b9b6040860186613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a611ecb565b905080610c155783600103610bf057610beb611ee1565b610c15565b82610bfa5f611ef2565b604051635a15467560e01b81526004016109b7929190613277565b5050600101610b49565b5f8181526002602052604081205465ffffffffffff16610c3e81611f23565b610c485780610940565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610cb3575f5ffd5b505af1158015610868573d5f5f3e3d5ffd5b6001600160a01b0381165f908152602081905260408120600101546108a3906001600160701b0316611648565b610cff335f366001611f51565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108f1565b610d5d611550565b6108bb8282612008565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610da9611550565b6001600160401b0383161580610dc757506001600160401b03838116145b15610df05760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610e2b9291906132b7565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610e77573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9b91906132ca565b6001600160e01b03191614610ece57604051630641fee960e31b81526001600160a01b03821660048201526024016109b7565b610868610edd85838686610f1b565b611999565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610f11611550565b6108bb82826120b9565b5f84848484604051602001610f3394939291906132e5565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610f7d57610f7d613369565b604051908082528060200260200182016040528015610fb057816020015b6060815260200190600190039081610f9b5790505b5091505f5b838110156110315761100c30868684818110610fd357610fd36131e8565b9050602002810190610fe59190613235565b85604051602001610ff89392919061337d565b6040516020818303038152906040526121c8565b83828151811061101e5761101e6131e8565b6020908102919091010152600101610fb5565b505092915050565b6110416116d7565b6108688483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250611ad9915050565b5f5f61108d84610ee2565b1561109c57505f9050806110fb565b306001600160a01b038616036110c0576110b6848461224a565b5f915091506110fb565b5f6110cb8585610d67565b90505f5f6110d983896111fd565b91509150816110e9575f5f6110f3565b63ffffffff811615815b945094505050505b935093915050565b61110b611550565b6111158282612260565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561117f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a391906133a0565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611164565b5f8067fffffffffffffffe196001600160401b038516016112235750600190505f61127a565b5f5f61122f8686610a93565b5050915091508165ffffffffffff165f1415801561126f575060ff5f5c168061126f575061125b612349565b65ffffffffffff168265ffffffffffff1611155b9350915061127a9050565b9250929050565b611289611550565b6108bb8282612353565b5f33816112a08585611982565b90505f6112af88888888610f1b565b5f8181526002602052604081205491925065ffffffffffff90911690036112ec5760405163060a299b60e41b8152600481018290526024016109b7565b826001600160a01b0316886001600160a01b031614611385575f6113105f856111fd565b5090505f61132a61132461027c8b87610d67565b866111fd565b50905081158015611339575080155b1561138257604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b0319851660648201526084016109b7565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816113f682898989611931565b9150505f8163ffffffff16611409612349565b61141391906133b7565b905063ffffffff8216158061144957505f8665ffffffffffff1611801561144957508065ffffffffffff168665ffffffffffff16105b1561145a57828961097e8a8a611982565b6114748665ffffffffffff168265ffffffffffff1661240e565b9550611482838a8a8a610f1b565b945061148d8561241d565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611513908a9088908f908f908f906133d5565b60405180910390a350505094509492505050565b6001600160a01b038116331461110b57604051635f159e6360e01b815260040160405180910390fd5b335f8061155e838236612469565b9150915081611115578063ffffffff165f036115b8575f61157f813661252c565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506109b7565b610a8d610edd84305f36610f1b565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f61165c836001600160701b0316611e0c565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906116cb90841515815260200190565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461174f5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016109b7565b565b5f600160ff19825c168117825d505f61176d6060850185613235565b61177b916004915f91613342565b6117849161341a565b90506001600160e01b03198116635b0e93fb60e11b146117c35760405163d4d202fb60e01b81526001600160e01b0319821660048201526024016109b7565b5f6117d16060860186613235565b6117e091602491600491613342565b8101906117ed9190612f1e565b9050306001600160a01b0382160361181857604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c812090611892826118596101008a018a613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061271292505050565b90506118ab816118a560608a018a613235565b5f611f51565b6118bc5760019450505050506118d9565b6118d2816118cd60608a018a613235565b612730565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156118e9576040515f90339083908381818185875af1925050503d805f8114610868576040519150601f19603f3d011682016040523d82523d5f602084013e610868565b5f80306001600160a01b038616036119575761194e868585612469565b91509150611979565b600483106119735761196e86866106eb8787611982565b61194e565b505f9050805b94509492505050565b5f6119906004828486613342565b6109409161341a565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036119e15760405163060a299b60e41b8152600481018590526024016109b7565b6119e9612349565b65ffffffffffff168265ffffffffffff161115611a1c57604051630c65b5bd60e11b8152600481018590526024016109b7565b611a2582611f23565b15611a4657604051631e2975b960e21b8152600481018590526024016109b7565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015611b055760405163cf47918160e01b8152476004820152602481018390526044016109b7565b5f611b118584866127c8565b9050808015611b3257505f3d1180611b3257505f856001600160a01b03163b115b15611b4757611b3f6127dd565b915050610940565b8015611b7157604051639996b31560e01b81526001600160a01b03861660048201526024016109b7565b3d15611b8457611b7f6127f6565b611b9d565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b03861601611be35760405163061c6a4360e21b81526001600160401b03861660048201526024016109b7565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611cd3578463ffffffff16611c2e612349565b611c3891906133b7565b905060405180604001604052808265ffffffffffff168152602001611c668663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611d7d565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611d1c91600160301b9091046001600160701b0316908690612801565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611dff84611dfa6128a7565b6128b6565b9250925092509193909250565b5f5f5f611dff84611e1b612349565b612908565b6001600160401b0382161580611e3e57506001600160401b03828116145b15611e675760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b61174f6116d7565b5f5f5f845160208601878987f195945050505050565b61174f611eed5f611ef2565b612954565b60603d8215611f065782811115611f065750815b604051602082018101604052818152815f602083013e9392505050565b5f611f2c612349565b65ffffffffffff16611f4162093a80846133b7565b65ffffffffffff16111592915050565b5f8080611f6f8730611f666004858a8c613342565b6106eb9161341a565b9150915081611ffb5763ffffffff811615611f9d576040516399ec076b60e01b815260040160405180910390fd5b8315611ff15786611fbe30611fb560045f8a8c613342565b6105809161341a565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b031660248201526044016109b7565b5f92505050610f4c565b5060019695505050505050565b6001600160401b038216158061202657506001600160401b03828116145b1561204f5760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016120f65760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b0382165f9081526001602081905260408220015461212f90600160801b90046001600160701b03168362069780612801565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610e2b908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f6121d5848461295c565b90508080156121f657505f3d11806121f657505f846001600160a01b03163b115b1561220b576122036127dd565b9150506108a3565b801561223557604051639996b31560e01b81526001600160a01b03851660048201526024016109b7565b3d15611b84576122436127f6565b5092915050565b5f6122558383611a97565b600354149392505050565b5f67fffffffffffffffe196001600160401b0384160161229e5760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff1690036122df57505f6108a3565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f6111a34261296f565b6001600160a01b0382165f90815260208190526040812060010154612385906001600160701b03168362069780612801565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610e2b565b5f828218828411028218610940565b5f8181526002602052604090205465ffffffffffff168015801590612448575061244681611f23565b155b156108bb5760405163813e945960e01b8152600481018390526024016109b7565b5f80600483101561247e57505f9050806110fb565b306001600160a01b038616036124a1576110b63061249c8686611982565b61224a565b5f5f5f6124ae878761252c565b925092509250821580156124c657506124c630610ee2565b156124d9575f5f945094505050506110fb565b5f5f6124e5848b6111fd565b91509150816124fe575f5f9650965050505050506110fb565b6125148363ffffffff168263ffffffff1661240e565b63ffffffff8116159b909a5098505050505050505050565b5f8080600484101561254557505f91508190508061270b565b5f6125508686611982565b90506001600160e01b031981166310a6aa3760e31b148061258157506001600160e01b031981166330cae18760e01b145b8061259c57506001600160e01b0319811663294b14a960e11b145b806125b757506001600160e01b03198116635326cae760e11b145b806125d257506001600160e01b0319811663d22b598960e01b145b156125e75760015f5f9350935093505061270b565b6001600160e01b0319811663063fc60f60e21b148061261657506001600160e01b0319811663167bd39560e01b145b8061263157506001600160e01b031981166308d6122d60e01b145b15612670575f61264560246004888a613342565b8101906126529190612f1e565b90505f61265e82610cc5565b600196505f9550935061270b92505050565b6001600160e01b0319811663012e238d60e51b148061269f57506001600160e01b03198116635be958b160e11b145b156126f7575f6126b360246004888a613342565b8101906126c09190612cce565b905060016126e9826001600160401b039081165f90815260016020819052604090912001541690565b5f945094509450505061270b565b5f6127023083610d67565b5f935093509350505b9250925092565b5f5f5f5f61272086866129a5565b92509250925061165c82826129eb565b5f808084600485612741828261332f565b9261274e93929190613342565b81019061275b9190613450565b92505091505f5f61277a88856106eb5f87612aa390919063ffffffff16565b91509150818061278e575063ffffffff8116155b156127ac578161279f5760016127a1565b5f5b945050505050610940565b6127ba610edd898686612b00565b505f98975050505050505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f612816866001600160701b0316611648565b90505f6128518563ffffffff168763ffffffff168463ffffffff161161283c575f612846565b612846888561351b565b63ffffffff1661240e565b90508063ffffffff16612862612349565b61286c91906133b7565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6111a36407915ecc0061296f565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156128f4578282826128f8565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561294357828282612947565b815f5f5b9250925092509250925092565b805160208201fd5b5f5f5f835160208501865af49392505050565b5f65ffffffffffff8211156129a1576040516306dfcc6560e41b815260306004820152602481018390526044016109b7565b5090565b5f5f5f83516041036129dc576020840151604085015160608601515f1a6129ce88828585612b35565b95509550955050505061270b565b505081515f915060029061270b565b5f8260038111156129fe576129fe613537565b03612a07575050565b6001826003811115612a1b57612a1b613537565b03612a395760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612a4d57612a4d613537565b03612a6e5760405163fce698f760e01b8152600481018290526024016109b7565b6003826003811115612a8257612a82613537565b036108bb576040516335e2f38360e21b8152600481018290526024016109b7565b5f612aaf82602061354b565b83511015612af75760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b60448201526064016109b7565b50016020015190565b5f838383604051602001612b169392919061355e565b6040516020818303038152906040528051906020012090509392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612b6e57505f91506003905082612bf3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612bbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612bea57505f925060019150829050612bf3565b92505f91508190505b9450945094915050565b6001600160a01b03811681146118e9575f5ffd5b5f5f83601f840112612c21575f5ffd5b5081356001600160401b03811115612c37575f5ffd5b6020830191508360208260051b850101111561127a575f5ffd5b80356001600160401b0381168114612c67575f5ffd5b919050565b5f5f5f5f60608587031215612c7f575f5ffd5b8435612c8a81612bfd565b935060208501356001600160401b03811115612ca4575f5ffd5b612cb087828801612c11565b9094509250612cc3905060408601612c51565b905092959194509250565b5f60208284031215612cde575f5ffd5b61094082612c51565b5f5f60408385031215612cf8575f5ffd5b8235612d0381612bfd565b915060208301358015158114612d17575f5ffd5b809150509250929050565b5f5f60408385031215612d33575f5ffd5b8235612d3e81612bfd565b91506020830135612d1781612bfd565b5f5f5f60608486031215612d60575f5ffd5b83356001600160401b03811115612d75575f5ffd5b84016101208187031215612d87575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612dac575f5ffd5b5081356001600160401b03811115612dc2575f5ffd5b60208301915083602082850101111561127a575f5ffd5b5f5f5f60408486031215612deb575f5ffd5b8335612df681612bfd565b925060208401356001600160401b03811115612e10575f5ffd5b612e1c86828701612d9c565b9497909650939450505050565b803563ffffffff81168114612c67575f5ffd5b5f5f5f60608486031215612e4e575f5ffd5b612e5784612c51565b92506020840135612e6781612bfd565b9150612e7560408501612e29565b90509250925092565b5f5f60408385031215612e8f575f5ffd5b612d3e83612c51565b5f5f60408385031215612ea9575f5ffd5b612eb283612c51565b9150612ec060208401612c51565b90509250929050565b5f5f60208385031215612eda575f5ffd5b82356001600160401b03811115612eef575f5ffd5b612efb85828601612c11565b90969095509350505050565b5f60208284031215612f17575f5ffd5b5035919050565b5f60208284031215612f2e575f5ffd5b813561094081612bfd565b5f5f60408385031215612f4a575f5ffd5b8235612f5581612bfd565b946020939093013593505050565b6001600160e01b0319811681146118e9575f5ffd5b5f5f60408385031215612f89575f5ffd5b8235612f9481612bfd565b91506020830135612d1781612f63565b5f5f5f60408486031215612fb6575f5ffd5b612df684612c51565b5f5f60408385031215612fd0575f5ffd5b612fd983612c51565b9150612ec060208401612e29565b5f5f5f5f60608587031215612ffa575f5ffd5b843561300581612bfd565b9350602085013561301581612bfd565b925060408501356001600160401b0381111561302f575f5ffd5b61303b87828801612d9c565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156130cc57603f198786030184526130b7858351613047565b9450602093840193919091019060010161309b565b50929695505050505050565b5f5f5f5f606085870312156130eb575f5ffd5b84356130f681612bfd565b93506020850135925060408501356001600160401b0381111561302f575f5ffd5b5f5f5f60608486031215613129575f5ffd5b833561313481612bfd565b9250602084013561314481612bfd565b9150604084013561315481612f63565b809150509250925092565b5f5f60408385031215613170575f5ffd5b8235612fd981612bfd565b5f5f5f5f6060858703121561318e575f5ffd5b843561319981612bfd565b935060208501356001600160401b038111156131b3575f5ffd5b6131bf87828801612d9c565b909450925050604085013565ffffffffffff811681146131dd575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561320c575f5ffd5b813561094081612f63565b5f8235605e1983360301811261322b575f5ffd5b9190910192915050565b5f5f8335601e1984360301811261324a575f5ffd5b8301803591506001600160401b03821115613263575f5ffd5b60200191503681900382131561127a575f5ffd5b828152604060208201525f610f4c6040830184613047565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610f4c60208301848661328f565b5f602082840312156132da575f5ffd5b815161094081612f63565b6001600160a01b038581168252841660208201526060604082018190525f90613311908301848661328f565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108a3576108a361331b565b5f5f85851115613350575f5ffd5b8386111561335c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b5f602082840312156133b0575f5ffd5b5051919050565b65ffffffffffff81811683821601908111156108a3576108a361331b565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061340f908301848661328f565b979650505050505050565b80356001600160e01b03198116906004841015612243576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f60608486031215613462575f5ffd5b833561346d81612bfd565b92506020840135915060408401356001600160401b0381111561348e575f5ffd5b8401601f8101861361349e575f5ffd5b80356001600160401b038111156134b7576134b7613369565b604051601f8201601f19908116603f011681016001600160401b03811182821017156134e5576134e5613369565b6040528181528282016020018810156134fc575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff82811682821603908111156108a3576108a361331b565b634e487b7160e01b5f52602160045260245ffd5b808201808211156108a3576108a361331b565b6001600160a01b038481168252831660208201526060604082018190525f9061358990830184613047565b9594505050505056fea2646970667358221220fbb8331fd2c088fe935f246f484ac181ab19a275a04067986cfcefae4efd44a064736f6c634300081e0033";
|
|
13
|
+
readonly deployedBytecode: "0x608060405260043610610236575f3560e01c80636d5115bd11610129578063b7009613116100a8578063d1f856ee1161006d578063d1f856ee14610768578063d22b598914610787578063d6bb62c6146107a6578063f801a698146107c5578063fe0776f5146107fe575f5ffd5b8063b7009613146106d1578063b7d2b1621461070c578063c399ec881461072b578063cc1b6c811461073f578063d087d28814610754575f5ffd5b8063a64d95ce116100ee578063a64d95ce14610605578063abd9bd2a14610624578063ac9650d814610643578063b0d691fe1461066f578063b61d27f6146106b2575f5ffd5b80636d5115bd1461056657806375b238fc14610585578063853551b81461059857806394c7d7ee146105b7578063a166aa89146105d6575f5ffd5b806334fcd5be116101b55780634a58db191161017a5780634a58db19146104c65780634c1da1e2146104ce5780634d44560d146104ed578063529629521461050c578063530dd4561461052b575f5ffd5b806334fcd5be1461040a5780633adc277a146104295780633ca7c02a1461045f5780634136a33c146104795780634665096d146104b1575f5ffd5b806319822f7c116101fb57806319822f7c146103335780631cff79cd1461036057806325c471a0146103735780633078f1141461039257806330cae187146103eb575f5ffd5b806308d6122d146102415780630b0a93ba1461026257806312be8727146102c1578063167bd395146102f557806318ff183c14610314575f5ffd5b3661023d57005b5f5ffd5b34801561024c575f5ffd5b5061026061025b366004612c6c565b61081d565b005b34801561026d575f5ffd5b506102a461027c366004612cce565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b3480156102cc575f5ffd5b506102e06102db366004612cce565b61086f565b60405163ffffffff90911681526020016102b8565b348015610300575f5ffd5b5061026061030f366004612ce7565b6108a9565b34801561031f575f5ffd5b5061026061032e366004612d22565b6108bf565b34801561033e575f5ffd5b5061035261034d366004612d4e565b610922565b6040519081526020016102b8565b6102e061036e366004612dd9565b610947565b34801561037e575f5ffd5b5061026061038d366004612e3c565b610a71565b34801561039d575f5ffd5b506103b16103ac366004612e7e565b610a93565b6040516102b8949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b3480156103f6575f5ffd5b50610260610405366004612e98565b610b2c565b348015610415575f5ffd5b50610260610424366004612ec9565b610b3e565b348015610434575f5ffd5b50610448610443366004612f07565b610c1f565b60405165ffffffffffff90911681526020016102b8565b34801561046a575f5ffd5b506102a46001600160401b0381565b348015610484575f5ffd5b506102e0610493366004612f07565b5f90815260026020526040902054600160301b900463ffffffff1690565b3480156104bc575f5ffd5b5062093a806102e0565b610260610c50565b3480156104d9575f5ffd5b506102e06104e8366004612f1e565b610cc5565b3480156104f8575f5ffd5b50610260610507366004612f39565b610cf2565b348015610517575f5ffd5b50610260610526366004612e98565b610d55565b348015610536575f5ffd5b506102a4610545366004612cce565b6001600160401b039081165f90815260016020819052604090912001541690565b348015610571575f5ffd5b506102a4610580366004612f78565b610d67565b348015610590575f5ffd5b506102a45f81565b3480156105a3575f5ffd5b506102606105b2366004612fa4565b610da1565b3480156105c2575f5ffd5b506102606105d1366004612dd9565b610e38565b3480156105e1575f5ffd5b506105f56105f0366004612f1e565b610ee2565b60405190151581526020016102b8565b348015610610575f5ffd5b5061026061061f366004612fbf565b610f09565b34801561062f575f5ffd5b5061035261063e366004612fe7565b610f1b565b34801561064e575f5ffd5b5061066261065d366004612ec9565b610f54565b6040516102b89190613075565b34801561067a575f5ffd5b506040516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681526020016102b8565b3480156106bd575f5ffd5b506102606106cc3660046130d8565b611039565b3480156106dc575f5ffd5b506106f06106eb366004613117565b611082565b60408051921515835263ffffffff9091166020830152016102b8565b348015610717575f5ffd5b50610260610726366004612e7e565b611103565b348015610736575f5ffd5b5061035261111a565b34801561074a575f5ffd5b50620697806102e0565b34801561075f575f5ffd5b506103526111a8565b348015610773575f5ffd5b506106f0610782366004612e7e565b6111fd565b348015610792575f5ffd5b506102606107a136600461315f565b611281565b3480156107b1575f5ffd5b506102e06107c0366004612fe7565b611293565b3480156107d0575f5ffd5b506107e46107df36600461317b565b6113e6565b6040805192835263ffffffff9091166020830152016102b8565b348015610809575f5ffd5b50610260610818366004612e7e565b611527565b610825611550565b5f5b828110156108685761086085858584818110610845576108456131e8565b905060200201602081019061085a91906131fc565b846115c7565b600101610827565b5050505050565b6001600160401b0381165f908152600160208190526040822001546108a390600160801b90046001600160701b0316611648565b92915050565b6108b1611550565b6108bb8282611666565b5050565b6108c7611550565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015b5f604051808303815f87803b158015610908575f5ffd5b505af115801561091a573d5f5f3e3d5ffd5b505050505050565b5f61092b6116d7565b6109358484611751565b9050610940826118ec565b9392505050565b5f33818061095783888888611931565b915091508115801561096d575063ffffffff8116155b156109c057828761097e8888611982565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f6109cd84898989610f1b565b90505f63ffffffff83161515806109f357506109e882610c1f565b65ffffffffffff1615155b15610a0457610a0182611999565b90505b600354610a1a8a610a158b8b611982565b611a97565b600381905550610a618a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611ad9915050565b5060035598975050505050505050565b610a79611550565b610a8d8383610a878661086f565b84611ba5565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c1615610aff578054610af390600160301b90046001600160701b0316611deb565b91955093509150610b22565b8054610b1a90600160301b90046001600160701b0316611e0c565b919550935091505b5092959194509250565b610b34611550565b6108bb8282611e20565b610b46611ec3565b805f5b81811015610a8d5736848483818110610b6457610b646131e8565b9050602002810190610b769190613217565b90505f610bd4610b896020840184612f1e565b6020840135610b9b6040860186613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505050505a611ecb565b905080610c155783600103610bf057610beb611ee1565b610c15565b82610bfa5f611ef2565b604051635a15467560e01b81526004016109b7929190613277565b5050600101610b49565b5f8181526002602052604081205465ffffffffffff16610c3e81611f23565b610c485780610940565b5f9392505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b158015610cb3575f5ffd5b505af1158015610868573d5f5f3e3d5ffd5b6001600160a01b0381165f908152602081905260408120600101546108a3906001600160701b0316611648565b610cff335f366001611f51565b5060405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c2878906044016108f1565b610d5d611550565b6108bb8282612008565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610da9611550565b6001600160401b0383161580610dc757506001600160401b03838116145b15610df05760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610e2b9291906132b7565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610e77573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e9b91906132ca565b6001600160e01b03191614610ece57604051630641fee960e31b81526001600160a01b03821660048201526024016109b7565b610868610edd85838686610f1b565b611999565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610f11611550565b6108bb82826120b9565b5f84848484604051602001610f3394939291906132e5565b6040516020818303038152906040528051906020012090505b949350505050565b604080515f815260208101909152606090826001600160401b03811115610f7d57610f7d613369565b604051908082528060200260200182016040528015610fb057816020015b6060815260200190600190039081610f9b5790505b5091505f5b838110156110315761100c30868684818110610fd357610fd36131e8565b9050602002810190610fe59190613235565b85604051602001610ff89392919061337d565b6040516020818303038152906040526121c8565b83828151811061101e5761101e6131e8565b6020908102919091010152600101610fb5565b505092915050565b6110416116d7565b6108688483838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250611ad9915050565b5f5f61108d84610ee2565b1561109c57505f9050806110fb565b306001600160a01b038616036110c0576110b6848461224a565b5f915091506110fb565b5f6110cb8585610d67565b90505f5f6110d983896111fd565b91509150816110e9575f5f6110f3565b63ffffffff811615815b945094505050505b935093915050565b61110b611550565b6111158282612260565b505050565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561117f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111a391906133a0565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401611164565b5f8067fffffffffffffffe196001600160401b038516016112235750600190505f61127a565b5f5f61122f8686610a93565b5050915091508165ffffffffffff165f1415801561126f575060ff5f5c168061126f575061125b612349565b65ffffffffffff168265ffffffffffff1611155b9350915061127a9050565b9250929050565b611289611550565b6108bb8282612353565b5f33816112a08585611982565b90505f6112af88888888610f1b565b5f8181526002602052604081205491925065ffffffffffff90911690036112ec5760405163060a299b60e41b8152600481018290526024016109b7565b826001600160a01b0316886001600160a01b031614611385575f6113105f856111fd565b5090505f61132a61132461027c8b87610d67565b866111fd565b50905081158015611339575080155b1561138257604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b0319851660648201526084016109b7565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f8033816113f682898989611931565b9150505f8163ffffffff16611409612349565b61141391906133b7565b905063ffffffff8216158061144957505f8665ffffffffffff1611801561144957508065ffffffffffff168665ffffffffffff16105b1561145a57828961097e8a8a611982565b6114748665ffffffffffff168265ffffffffffff1661240e565b9550611482838a8a8a610f1b565b945061148d8561241d565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b490611513908a9088908f908f908f906133d5565b60405180910390a350505094509492505050565b6001600160a01b038116331461110b57604051635f159e6360e01b815260040160405180910390fd5b335f8061155e838236612469565b9150915081611115578063ffffffff165f036115b8575f61157f813661252c565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506109b7565b610a8d610edd84305f36610f1b565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f61165c836001600160701b0316611e0c565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb138906116cb90841515815260200190565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461174f5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016109b7565b565b5f600160ff19825c168117825d505f61176d6060850185613235565b61177b916004915f91613342565b6117849161341a565b90506001600160e01b03198116635b0e93fb60e11b146117c35760405163d4d202fb60e01b81526001600160e01b0319821660048201526024016109b7565b5f6117d16060860186613235565b6117e091602491600491613342565b8101906117ed9190612f1e565b9050306001600160a01b0382160361181857604051637e6c446560e11b815260040160405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c859052603c812090611892826118596101008a018a613235565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061271292505050565b90506118ab816118a560608a018a613235565b5f611f51565b6118bc5760019450505050506118d9565b6118d2816118cd60608a018a613235565b612730565b9450505050505b5f60ff19815c16815d5092915050565b50565b80156118e9576040515f90339083908381818185875af1925050503d805f8114610868576040519150601f19603f3d011682016040523d82523d5f602084013e610868565b5f80306001600160a01b038616036119575761194e868585612469565b91509150611979565b600483106119735761196e86866106eb8787611982565b61194e565b505f9050805b94509492505050565b5f6119906004828486613342565b6109409161341a565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff168183036119e15760405163060a299b60e41b8152600481018590526024016109b7565b6119e9612349565b65ffffffffffff168265ffffffffffff161115611a1c57604051630c65b5bd60e11b8152600481018590526024016109b7565b611a2582611f23565b15611a4657604051631e2975b960e21b8152600481018590526024016109b7565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b606081471015611b055760405163cf47918160e01b8152476004820152602481018390526044016109b7565b5f611b118584866127c8565b9050808015611b3257505f3d1180611b3257505f856001600160a01b03163b115b15611b4757611b3f6127dd565b915050610940565b8015611b7157604051639996b31560e01b81526001600160a01b03861660048201526024016109b7565b3d15611b8457611b7f6127f6565b611b9d565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b03861601611be35760405163061c6a4360e21b81526001600160401b03861660048201526024016109b7565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff1615908115611cd3578463ffffffff16611c2e612349565b611c3891906133b7565b905060405180604001604052808265ffffffffffff168152602001611c668663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff90911617919091179055611d7d565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a168452909152812054611d1c91600160301b9091046001600160701b0316908690612801565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f611dff84611dfa6128a7565b6128b6565b9250925092509193909250565b5f5f5f611dff84611e1b612349565b612908565b6001600160401b0382161580611e3e57506001600160401b03828116145b15611e675760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b61174f6116d7565b5f5f5f845160208601878987f195945050505050565b61174f611eed5f611ef2565b612954565b60603d8215611f065782811115611f065750815b604051602082018101604052818152815f602083013e9392505050565b5f611f2c612349565b65ffffffffffff16611f4162093a80846133b7565b65ffffffffffff16111592915050565b5f8080611f6f8730611f666004858a8c613342565b6106eb9161341a565b9150915081611ffb5763ffffffff811615611f9d576040516399ec076b60e01b815260040160405180910390fd5b8315611ff15786611fbe30611fb560045f8a8c613342565b6105809161341a565b60405163f07e038f60e01b81526001600160a01b0390921660048301526001600160401b031660248201526044016109b7565b5f92505050610f4c565b5060019695505050505050565b6001600160401b038216158061202657506001600160401b03828116145b1561204f5760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016120f65760405163061c6a4360e21b81526001600160401b03831660048201526024016109b7565b6001600160401b0382165f9081526001602081905260408220015461212f90600160801b90046001600160701b03168362069780612801565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610e2b908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f6121d5848461295c565b90508080156121f657505f3d11806121f657505f846001600160a01b03163b115b1561220b576122036127dd565b9150506108a3565b801561223557604051639996b31560e01b81526001600160a01b03851660048201526024016109b7565b3d15611b84576122436127f6565b5092915050565b5f6122558383611a97565b600354149392505050565b5f67fffffffffffffffe196001600160401b0384160161229e5760405163061c6a4360e21b81526001600160401b03841660048201526024016109b7565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff1690036122df57505f6108a3565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f6111a34261296f565b6001600160a01b0382165f90815260208190526040812060010154612385906001600160701b03168362069780612801565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610e2b565b5f828218828411028218610940565b5f8181526002602052604090205465ffffffffffff168015801590612448575061244681611f23565b155b156108bb5760405163813e945960e01b8152600481018390526024016109b7565b5f80600483101561247e57505f9050806110fb565b306001600160a01b038616036124a1576110b63061249c8686611982565b61224a565b5f5f5f6124ae878761252c565b925092509250821580156124c657506124c630610ee2565b156124d9575f5f945094505050506110fb565b5f5f6124e5848b6111fd565b91509150816124fe575f5f9650965050505050506110fb565b6125148363ffffffff168263ffffffff1661240e565b63ffffffff8116159b909a5098505050505050505050565b5f8080600484101561254557505f91508190508061270b565b5f6125508686611982565b90506001600160e01b031981166310a6aa3760e31b148061258157506001600160e01b031981166330cae18760e01b145b8061259c57506001600160e01b0319811663294b14a960e11b145b806125b757506001600160e01b03198116635326cae760e11b145b806125d257506001600160e01b0319811663d22b598960e01b145b156125e75760015f5f9350935093505061270b565b6001600160e01b0319811663063fc60f60e21b148061261657506001600160e01b0319811663167bd39560e01b145b8061263157506001600160e01b031981166308d6122d60e01b145b15612670575f61264560246004888a613342565b8101906126529190612f1e565b90505f61265e82610cc5565b600196505f9550935061270b92505050565b6001600160e01b0319811663012e238d60e51b148061269f57506001600160e01b03198116635be958b160e11b145b156126f7575f6126b360246004888a613342565b8101906126c09190612cce565b905060016126e9826001600160401b039081165f90815260016020819052604090912001541690565b5f945094509450505061270b565b5f6127023083610d67565b5f935093509350505b9250925092565b5f5f5f5f61272086866129a5565b92509250925061165c82826129eb565b5f808084600485612741828261332f565b9261274e93929190613342565b81019061275b9190613450565b92505091505f5f61277a88856106eb5f87612aa390919063ffffffff16565b91509150818061278e575063ffffffff8116155b156127ac578161279f5760016127a1565b5f5b945050505050610940565b6127ba610edd898686612b00565b505f98975050505050505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f612816866001600160701b0316611648565b90505f6128518563ffffffff168763ffffffff168463ffffffff161161283c575f612846565b612846888561351b565b63ffffffff1661240e565b90508063ffffffff16612862612349565b61286c91906133b7565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f6111a36407915ecc0061296f565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156128f4578282826128f8565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561294357828282612947565b815f5f5b9250925092509250925092565b805160208201fd5b5f5f5f835160208501865af49392505050565b5f65ffffffffffff8211156129a1576040516306dfcc6560e41b815260306004820152602481018390526044016109b7565b5090565b5f5f5f83516041036129dc576020840151604085015160608601515f1a6129ce88828585612b35565b95509550955050505061270b565b505081515f915060029061270b565b5f8260038111156129fe576129fe613537565b03612a07575050565b6001826003811115612a1b57612a1b613537565b03612a395760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612a4d57612a4d613537565b03612a6e5760405163fce698f760e01b8152600481018290526024016109b7565b6003826003811115612a8257612a82613537565b036108bb576040516335e2f38360e21b8152600481018290526024016109b7565b5f612aaf82602061354b565b83511015612af75760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b60448201526064016109b7565b50016020015190565b5f838383604051602001612b169392919061355e565b6040516020818303038152906040528051906020012090509392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612b6e57505f91506003905082612bf3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612bbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116612bea57505f925060019150829050612bf3565b92505f91508190505b9450945094915050565b6001600160a01b03811681146118e9575f5ffd5b5f5f83601f840112612c21575f5ffd5b5081356001600160401b03811115612c37575f5ffd5b6020830191508360208260051b850101111561127a575f5ffd5b80356001600160401b0381168114612c67575f5ffd5b919050565b5f5f5f5f60608587031215612c7f575f5ffd5b8435612c8a81612bfd565b935060208501356001600160401b03811115612ca4575f5ffd5b612cb087828801612c11565b9094509250612cc3905060408601612c51565b905092959194509250565b5f60208284031215612cde575f5ffd5b61094082612c51565b5f5f60408385031215612cf8575f5ffd5b8235612d0381612bfd565b915060208301358015158114612d17575f5ffd5b809150509250929050565b5f5f60408385031215612d33575f5ffd5b8235612d3e81612bfd565b91506020830135612d1781612bfd565b5f5f5f60608486031215612d60575f5ffd5b83356001600160401b03811115612d75575f5ffd5b84016101208187031215612d87575f5ffd5b95602085013595506040909401359392505050565b5f5f83601f840112612dac575f5ffd5b5081356001600160401b03811115612dc2575f5ffd5b60208301915083602082850101111561127a575f5ffd5b5f5f5f60408486031215612deb575f5ffd5b8335612df681612bfd565b925060208401356001600160401b03811115612e10575f5ffd5b612e1c86828701612d9c565b9497909650939450505050565b803563ffffffff81168114612c67575f5ffd5b5f5f5f60608486031215612e4e575f5ffd5b612e5784612c51565b92506020840135612e6781612bfd565b9150612e7560408501612e29565b90509250925092565b5f5f60408385031215612e8f575f5ffd5b612d3e83612c51565b5f5f60408385031215612ea9575f5ffd5b612eb283612c51565b9150612ec060208401612c51565b90509250929050565b5f5f60208385031215612eda575f5ffd5b82356001600160401b03811115612eef575f5ffd5b612efb85828601612c11565b90969095509350505050565b5f60208284031215612f17575f5ffd5b5035919050565b5f60208284031215612f2e575f5ffd5b813561094081612bfd565b5f5f60408385031215612f4a575f5ffd5b8235612f5581612bfd565b946020939093013593505050565b6001600160e01b0319811681146118e9575f5ffd5b5f5f60408385031215612f89575f5ffd5b8235612f9481612bfd565b91506020830135612d1781612f63565b5f5f5f60408486031215612fb6575f5ffd5b612df684612c51565b5f5f60408385031215612fd0575f5ffd5b612fd983612c51565b9150612ec060208401612e29565b5f5f5f5f60608587031215612ffa575f5ffd5b843561300581612bfd565b9350602085013561301581612bfd565b925060408501356001600160401b0381111561302f575f5ffd5b61303b87828801612d9c565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b828110156130cc57603f198786030184526130b7858351613047565b9450602093840193919091019060010161309b565b50929695505050505050565b5f5f5f5f606085870312156130eb575f5ffd5b84356130f681612bfd565b93506020850135925060408501356001600160401b0381111561302f575f5ffd5b5f5f5f60608486031215613129575f5ffd5b833561313481612bfd565b9250602084013561314481612bfd565b9150604084013561315481612f63565b809150509250925092565b5f5f60408385031215613170575f5ffd5b8235612fd981612bfd565b5f5f5f5f6060858703121561318e575f5ffd5b843561319981612bfd565b935060208501356001600160401b038111156131b3575f5ffd5b6131bf87828801612d9c565b909450925050604085013565ffffffffffff811681146131dd575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561320c575f5ffd5b813561094081612f63565b5f8235605e1983360301811261322b575f5ffd5b9190910192915050565b5f5f8335601e1984360301811261324a575f5ffd5b8301803591506001600160401b03821115613263575f5ffd5b60200191503681900382131561127a575f5ffd5b828152604060208201525f610f4c6040830184613047565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f610f4c60208301848661328f565b5f602082840312156132da575f5ffd5b815161094081612f63565b6001600160a01b038581168252841660208201526060604082018190525f90613311908301848661328f565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156108a3576108a361331b565b5f5f85851115613350575f5ffd5b8386111561335c575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b5f602082840312156133b0575f5ffd5b5051919050565b65ffffffffffff81811683821601908111156108a3576108a361331b565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f9061340f908301848661328f565b979650505050505050565b80356001600160e01b03198116906004841015612243576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f60608486031215613462575f5ffd5b833561346d81612bfd565b92506020840135915060408401356001600160401b0381111561348e575f5ffd5b8401601f8101861361349e575f5ffd5b80356001600160401b038111156134b7576134b7613369565b604051601f8201601f19908116603f011681016001600160401b03811182821017156134e5576134e5613369565b6040528181528282016020018810156134fc575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b63ffffffff82811682821603908111156108a3576108a361331b565b634e487b7160e01b5f52602160045260245ffd5b808201808211156108a3576108a361331b565b6001600160a01b038481168252831660208201526060604082018190525f9061358990830184613047565b9594505050505056fea2646970667358221220fbb8331fd2c088fe935f246f484ac181ab19a275a04067986cfcefae4efd44a064736f6c634300081e0033";
|
|
14
|
+
readonly linkReferences: {};
|
|
15
|
+
readonly deployedLinkReferences: {};
|
|
16
|
+
readonly immutableReferences: {"11905":[{"length":32,"start":1672},{"length":32,"start":3154},{"length":32,"start":3366},{"length":32,"start":4409},{"length":32,"start":4558},{"length":32,"start":5858}]};
|
|
17
|
+
readonly inputSourceName: "project/contracts/AccessManagerAccount.sol";
|
|
18
|
+
readonly buildInfoId: "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865";
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
import "hardhat/types/artifacts";
|
|
22
|
+
declare module "hardhat/types/artifacts" {
|
|
23
|
+
interface ArtifactMap {
|
|
24
|
+
["AccessManagerAccount"]: AccessManagerAccount$Type;
|
|
25
|
+
["contracts/AccessManagerAccount.sol:AccessManagerAccount"]: AccessManagerAccount$Type;
|
|
26
|
+
}
|
|
27
|
+
}
|